Хорошо, я знаю, что Copy Ctor
копирует данные объекта на другой объект. Но я до сих пор не совсем понимаю, что практическое использование Copy Ctor
в режиме реального времени. Я не нашел удовлетворительных ответов, просто определения того, что это такое.Каково практическое использование конструктора «Копировать»?
-1
A
ответ
0
C# не имеет конструктора копирования. Класс System.Object имеет метод MemberwiseClone, который создает неглубокую копию для ссылочных типов.
В неглубокой копии поля типов значений копируются как есть. Для полей ссылочного типа адрес копируется во вновь созданном объекте.
Глубокая копия объекта создается, когда фактические объекты выделяются для типов опорных полей.
Пример глубокой копии можно найти по адресу: https://msdn.microsoft.com/en-us/library/ms173116.aspx
Смежные вопросы
- 1. Каково практическое использование семафоров?
- 2. Каково практическое использование Cloning
- 3. Каково практическое использование защищенного наследования?
- 4. Каково практическое использование модуля (%) в программировании?
- 5. Каково практическое использование nolock в sql-сервере
- 6. Каково практическое использование тега <dfn>?
- 7. Каково практическое использование методов расширения в Java?
- 8. Каково практическое использование бесконечной петли: while (true)?
- 9. Каково практическое использование фантомных ссылок - JAVA?
- 10. Каково использование конструктора по умолчанию
- 11. Что такое практическое использование защищенного конструктора?
- 12. Явное поведение конструктора копирования и практическое использование
- 13. Каково использование синхронного блока внутри конструктора?
- 14. Каково использование параметризованного конструктора в java?
- 15. jQuery.map - Практическое использование функции?
- 16. Каково практическое использование байтов, поток для символьных потоков
- 17. Каково практическое использование столбца timestamp в sql-сервере с примером?
- 18. Каково практическое использование «динамической» переменной в C# 4.0?
- 19. Каково практическое использование ключевого слова super в наследовании Python?
- 20. Каково практическое использование ссылочной переменной интерфейса в C#?
- 21. Каково практическое использование времени компиляции и времени загрузки в АОП?
- 22. Каково практическое использование void datatype и void pointer?
- 23. Практическое использование extern в C?
- 24. Практическое использование Params индексатор
- 25. Практическое использование ContentLoadingProgressBar
- 26. Каково использование GL_BLEND?
- 27. Член скрывается, каково его практическое назначение
- 28. Каково практическое применение задания с использованием шаблона?
- 29. Копировать методы вызова конструктора
- 30. Практическое использование уровня изоляции Seralization?
вы не пишете конструкторы копирования в C#. посмотрите на метод ICloneable.Clone –
У C# нет конструкторов копирования, как это делает C++, поэтому я не уверен, что вы ожидаете в качестве ответа. Вы можете написать что-то похожее на конструктор копирования, но в этом нет ничего особенного. –
@ ro-E Вы * можете * и, возможно, должны написать конструкторы копирования в C#. IClonable - не очень хорошее решение; см. главный ответ на вопрос, связанный с Робертом. – Blorgbeard