我需要深入拷贝一个对象从一个类,我做了从同一类的另一个对象,我不想浅拷贝,我不想使用序列化方法 有没有其他简单的方法来使用??C#需要深拷贝一个对象
回答
实施IClonable并提供在Clone
方法克隆自己。
一种便宜的方法是序列化,然后使用二进制序列化将其反序列化。
MyObject myobj = new MyObject();
// ...
MemoryStream ms = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(ms, myObj);
MemoryStream ms2 = new MemoryStream(ms.ToArray());
var myobj2 = (MyObject)formatter.Deserialize(ms2);
Eww。那是邪恶的。 – alternative 2011-05-25 23:45:13
我听到你的声音。但是如果你有一个真正复杂的对象图,这可能是最安全的方法。自定义的“深度复制”代码可能会在您添加它们时错过字段。 – 2011-05-26 00:13:31
第二个流的创建是否会复制已写入流的所有数据? – alternative 2011-05-26 00:50:22
- 1. 浅拷贝和深拷贝在C
- 2. Poco :: JSON的深拷贝::对象
- 3. 如何深度拷贝函数对象
- 4. 的JavaScript:深拷贝和清除对象
- 5. C++ boost深层拷贝:: shared_ptr
- 6. 深拷贝
- 7. 浅拷贝和深拷贝示例
- 8. 深拷贝(链表)
- 9. 结构深拷贝
- 10. 深拷贝ASP.NET GridView
- 11. DPDK mbuf深拷贝
- 12. C++深拷贝载体的指针对象
- 13. JDO拷贝对象
- 14. 在JavaScript中拷贝一个子对象
- 15. 带有基元和对象引用的System.arraycopy()浅拷贝或深度拷贝
- 16. python:需要一个打破所有共享标识的深层拷贝
- 17. 矢量STD C++ - 深或浅拷贝
- 18. Tensorflow C++快速张量深拷贝
- 19. 拷贝构造函数:深复制一个抽象类
- 20. 深拷贝参考类型
- 21. Groovy深拷贝JSON映射
- 22. WPF“撤销”深拷贝
- 23. python中的深拷贝
- 24. std :: map的浅/深拷贝
- 25. JPA实体的深拷贝
- 26. 深拷贝2维数组
- 27. 为什么懒的拷贝时我们有深拷贝和浅拷贝?
- 28. Java ArrayList的拷贝构造函数是浅拷贝还是深拷贝?
- 29. LINQ to SQL深度拷贝对象与依赖
- 30. 我如何从一个JSON对象拷贝所需的值到另一个Lodash?
是的,写代码。 – 2011-05-25 23:31:18
感谢所有的答案=) – 2011-05-27 11:50:26