Copy C# object along with reference
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Cloning objects in C#
我有一个用c创建的对象,比如说object1。我需要暂时将这个对象备份到另一个对象,比如说ObjectOriginal。
但是,如果我执行objectOriginal=object1,对对象1的任何更改都会影响objectOriginal。我该怎么办?
这完全取决于object1实际上是什么,也就是说,它是一个数据表、一个字符串还是其他什么东西?
写作:
1 2 |
您将获得对第一行中实例化的对象的第二个引用。您需要做的是查看"thing"并查看它是否具有复制、克隆或类似命名的方法,然后使用它:
1 2 |
例如,DataTable提供了复制和克隆方法,其中复制复制复制了DataTable和数据的结构,克隆只复制了结构。
在类上实现clone()或使用object.memberWiseClone()。
http://msdn.microsoft.com/de-de/library/system.object.memberwiseclone(vs.80).aspx
如果您想要一个对象的副本,问题始终是:副本会出现多深?我的对象中的对象会发生什么。是否也应复制这些文件?如果是,它们的引用会发生什么情况??
有关更多信息,请从brad abrams的博客文章开始。