这个问题已经在这里有了答案:
已关闭8年。
我有一个用C#创建的对象,说是Object1。我需要将该对象临时备份到另一个对象ObjectOriginal。
但是,如果我执行ObjectOriginal = Object1,则对Object 1的任何更改都会影响ObjectOriginal。我该怎么办?
最佳答案
这完全取决于Object1实际是什么,即它是DataTable,String还是其他东西?
通过写:
object Object1 = new Thing();
object Object2 = Object1;
您将获得对在第一行中实例化的对象的第二个引用。您需要做的是查看“事物”,并查看它是否具有复制,克隆或类似命名的方法,并使用该方法:
object Object1 = new Thing();
object Object2 = Object1.Copy();
例如,DataTable提供了Copy和Clone方法,其中Copy复制了DataTable和数据的结构,而Clone仅复制了结构。
关于c# - 复制C#对象以及引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2340468/