Tag: clone

C# – 深度克隆对象

我想做的事情如下: MyObject myObj = GetMyObj(); // Create and fill a new object MyObject newObj = myObj.Clone(); 然后更改未在原始对象中反映的新对象。 我不经常需要这个功能,所以当有必要的时候,我已经使用了创建一个新对象然后单独复制每个属性,但它总是让我觉得有更好或更优雅的处理方式情况。 如何克隆或深度复制对象,以便可以修改克隆的对象而不会在原始对象中反映任何更改? 虽然标准做法是实现ICloneable界面(这里描述,所以我不会反刍),这是一个很好的深度克隆对象复印机我在前一段时间在代码项目中找到并将其合并到我们的东西中。 正如其他地方所提到的,它确实需要您的对象可序列化。 using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; /// <summary> /// Reference Article http://www.codeproject.com/KB/tips/SerializedObjectCloner.aspx /// Provides a method for performing a deep copy of an object. /// Binary Serialization is used to perform the