Мелкая копия

Автор: Lewis Jackson
Дата создания: 8 Май 2021
Дата обновления: 25 Июнь 2024
Anonim
Мелкая копия 1,6 для лаборатории
Видео: Мелкая копия 1,6 для лаборатории

Содержание

Определение - Что означает Shallow Copy?

Мелкая копия в C # - это процесс создания клона объекта путем создания экземпляра нового экземпляра того же типа, что и исходный объект, и копирования нестатических членов существующего объекта в клон. Члены типа значения копируются по крупицам, в то время как члены ссылочного типа копируются так, что упомянутый объект и его клон ссылаются на один и тот же объект.


Как правило, поверхностное копирование используется, когда производительность является одним из требований наряду с условием, что объект не будет видоизменяться во всем приложении. Передача клона, содержащего неизменяемые данные, исключает возможность повреждения любым кодом. Обнаружено, что поверхностное копирование является эффективным, когда ссылки на объекты позволяют объектам передаваться по адресу памяти, так что весь объект не нужно копировать.

Мелкая копия также называется членной копией.

Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.

Техопедия объясняет мелкое копирование

Мелкое копирование аналогично глубокому копированию при назначении каждого члена объекта тому же другому объекту, но отличается тем, как копируется поле ссылочного типа. В отличие от мелкой копии, где ссылка только копируется, в глубокой копии создается новая копия упомянутого объекта.


Например, рассмотрим объект сотрудника, который содержит подробную информацию о личной информации, включая список объектов адреса, в которых хранится несколько адресов сотрудников. Выполняя поверхностную копию объекта сотрудника, можно создать клон объекта сотрудника со ссылками на тот же список объектов адресов, которые принадлежат исходному объекту сотрудника.

Способы выполнения мелкого копирования включают в себя:
  • Вызовите метод MemberwiseClone объекта
  • Создать клон вручную с помощью пользовательского метода, который утомителен, но прост в управлении
  • Используйте технику отражения, которая предоставляет автоматизированное средство для выполнения мелкого копирования, но с накладными расходами
  • Используйте метод сериализации, который медленнее, чем отражение, но автоматизирован и прост
Неглубокая копия не может использоваться, если объект имеет члены ссылочного типа, которые часто изменяются. Это определение было написано в кон C #