可能是重复问题:
在C#中克隆对象
我有一个在C#中创建的对象,称为Object1。我需要将此对象临时备份到另一个对象ObjectOriginal中。
但是,如果我执行ObjectOriginal = Object1,那么对Object 1所做的任何更改都会影响ObjectOriginal。我该怎么做?
一切都取决于Object1实际上是什么,即它是一个DataTable,一个String,还是完全不同的东西?
通过编写:
object Object1 = new Thing();
object Object2 = Object1;
你会得到一个对你在第一行实例化的对象的第二个引用。你需要做的是查看“Thing”并看看它是否有Copy、Clone或类似命名的方法,然后使用该方法:
object Object1 = new Thing();
object Object2 = Object1.Copy();
http://msdn.microsoft.com/de-de/library/system.object.memberwiseclone(VS.80).aspx