Object 的浅表副本
浅表副本创建与原始对象具有相同类型的新实例,然后复制原始对象的非静态字段。如果字段是值类型的,则对该字段执行逐位复制。如果字段是引用类型,则复制该引用但不复制被引用的对象;这样,原始对象中的引用和复本中的引用指向同一个对象。相反,对象的深层副本复制对象中字段直接或间接引用的全部内容。
例如,如果 X 是一个具有对对象 A 和对象 B 的引用的 Object,并且对象 A 还具有对对象 M 的引用,则 X 的浅表副本是对象 Y,而 Y 同样具有对对象 A 和对象 B 的引用。相反,X 的深层副本是对象 Y,而对象 Y 具有对对象 C 和对象 D 的直接引用以及对对象 N 的间接引用,其中 C 是 A 的副本,D 是 B 的副本,而 N 是 M 的副本。
复本的 Type 与原始 Object 的类型相同。
Object.MemberwiseClone 方法 [C#] 创建当前 Object 的浅表副本。