Скопируйте объект C# наряду со ссылкой [дубликат]

6
задан Community 23 May 2017 в 10:24
поделиться

3 ответа

Все зависит от того, что на самом деле представляет собой Object1, то есть это DataTable, String или что-то еще?

Написав:

object Object1 = new Thing();
object Object2 = Object1;

Вы получаете вторую ссылку на объект, который вы создали в первой строке. Что вам нужно сделать, так это посмотреть на «Thing» и посмотреть, есть ли у него метод Copy, Clone или аналогично названный метод, и использовать его:

object Object1 = new Thing();
object Object2 = Object1.Copy();

Например, DataTable предлагает методы Copy и Clone, где Copy дублирует структуру DataTable и данные и Clone только дублируют структуру.

2
ответ дан 17 December 2019 в 18:15
поделиться

Если вам нужна копия объекта, всегда возникает вопрос: какова глубина копии? Что должно произойти с объектами внутри моего объекта. Следует ли их также скопировать, и если да, что должно произойти с их ссылками?

Для получения дополнительной информации воспользуйтесь в отправной точке этот пост в блоге Брэда Абрамса .

0
ответ дан 17 December 2019 в 18:15
поделиться

Либо реализуйте Clone () в своем классе, либо используйте Object.MemberwiseClone ()

http://msdn.microsoft.com/de-de/library/system.object.memberwiseclone (VS.80) .aspx

1
ответ дан 17 December 2019 в 18:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: