可能重复沿着复制C#对象:
Cloning objects in C#参考
我在C#创建的对象说Object1。我需要暂时将这个对象备份到另一个对象,如ObjectOriginal。
但是,如果我做ObjectOriginal = Object1,对对象1的任何更改都会影响ObjectOriginal。我如何去做这件事?
可能重复沿着复制C#对象:
Cloning objects in C#参考
我在C#创建的对象说Object1。我需要暂时将这个对象备份到另一个对象,如ObjectOriginal。
但是,如果我做ObjectOriginal = Object1,对对象1的任何更改都会影响ObjectOriginal。我如何去做这件事?
无论是在你的类实现的clone(),或使用Object.MemberwiseClone()
http://msdn.microsoft.com/de-de/library/system.object.memberwiseclone(VS.80).aspx
这一切都取决于Object1实际上是,即它是一个DataTable,一个字符串,或别的东西完全?
写:
object Object1 = new Thing();
object Object2 = Object1;
你得到了第二次提到你在第一行实例化对象。你需要做的是看“事”,看看它是否有一个复制,克隆或类似名称的方法,并使用:
object Object1 = new Thing();
object Object2 = Object1.Copy();
例如,数据表同时提供复制和克隆的方法,其中复制复制两者DataTable的结构和数据以及Clone只复制结构。
如果你想要一个对象的副本,问题总是如下:副本有多深?我的对象中的对象应该发生什么。如果这些也被复制,如果是的话,他们的参考应该发生什么?
欲了解更多信息在起点this blog post from Brad Abrams。
看看http://stackoverflow.com/questions/78536/cloning-objects-in-c – rerun 2010-02-26 09:11:10