C#需要深度复制对象[重复]

问题描述

|                                                                                                                   这个问题已经在这里有了答案:                                                      

解决方法

如何在.NET中(特别是C#)对对象进行深层复制?     ,一种便宜的方法是对其进行序列化,然后使用二进制序列化直接对其进行反序列化。
MyObject myobj = new MyObject(); 
// ...

MemoryStream ms = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(ms,myObj);

MemoryStream ms2 = new MemoryStream(ms.ToArray());

var myobj2 = (MyObject)formatter.Deserialize(ms2);
    ,实现IClonable并提供
Clone
方法的克隆。