MemberwiseClone 方法创建一个浅表副本,具体来说就是创建一个新对象,然后将当前对象的非静态字段复制到该新对象.如果字段是值类型的,则对该字段执行逐位复制.如果字段是引用类型,则复制引用但不复制引用的对象:因此,原始对象及其复本引用同一对象. 为了实现深度复制,我们就必须遍历有相互引用的对象构成的图,并需要处理其中的循环引用结构.这无疑是十分复杂的.幸好借助.Net的序列化和反序列化机制,可以十分简单的深度Clone一个对象.原理很简单,首先将对象序列化到内存流中,此时对象和对象引用…