参考

2010-02-26 69 views
5

可能重复沿着复制C#对象:
Cloning objects in C#参考

我在C#创建的对象说Object1。我需要暂时将这个对象备份到另一个对象,如ObjectOriginal。

但是,如果我做ObjectOriginal = Object1,对对象1的任何更改都会影响ObjectOriginal。我如何去做这件事?

+0

看看http://stackoverflow.com/questions/78536/cloning-objects-in-c – rerun 2010-02-26 09:11:10

回答

2

这一切都取决于Object1实际上是,即它是一个DataTable,一个字符串,或别的东西完全?

写:

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

你得到了第二次提到你在第一行实例化对象。你需要做的是看“事”,看看它是否有一个复制,克隆或类似名称的方法,并使用:

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

例如,数据表同时提供复制和克隆的方法,其中复制复制两者DataTable的结构和数据以及Clone只复制结构。

0

如果你想要一个对象的副本,问题总是如下:副本有多深?我的对象中的对象应该发生什么。如果这些也被复制,如果是的话,他们的参考应该发生什么?

欲了解更多信息在起点this blog post from Brad Abrams