可能重複沿着複製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