这个问题已经在这里有了答案:




已关闭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/

10-10 12:48