淡水求咸

博客园已经停止更新,请移步 http://lovecjh.com/

导航

2011年12月13日

C# 之类复制 MemberwiseClone与Clone(深 浅 Clone)

摘要: 今天在《大话设计模式》上看了原型模式,里面对于深浅clone做了一定的介绍,本人觉得下面这篇文章对于处理深clone是提出了一种较好的方法。MemberwiseClone方法创建一个浅表副本,具体来说就是创建一个新对象,然后将当前对象的非静态字段复制到该新对象。如果字段是值类型的,则对该字段执行逐位复制。如果字段是引用类型,则复制引用但不复制引用的对象。因此,原始对象及其复本引用的是同一对象。 为了实现深度复制,我们就必须遍历有相互引用的对象构成的图,并需要处理其中的循环引用结构。这无疑是十分复杂的。幸好借助.Net的序列化和反序列化机制,可以十分简单的深度Clone一个对象。原理很简单,首先 阅读全文

posted @ 2011-12-13 19:57 深圳彦祖 阅读(2838) 评论(0) 推荐(1) 编辑