Shallow Copy : 影子拷贝,msdn翻译为”浅表副本”
Deep Copy : 深拷贝, msdn翻译为”深层副本”
Shallow Copy与Deep Copy是用来在对象之间复制数据.
DotNET Framework用System.Object. MemberwiseClone方法创建Shallow Copy,它创建一个新对象,然后
将当前对象的非静态字段复制到该新对象。如果字段是值类型的,则对该字段执行逐位复制。如果字段是引用类型,
则复制引用(reference)但不复制引用的对象(referred object);因此,原始对象及其复本引用
同一对象。
考虑引用对象 A 和 B 的被称为 X 的对象。对象 B 依次引用对象 C。X 的浅表副本创建一个新对象
X2,该对象也引用对象 A 和 B。相比而言,X 的深层副本创建一个新对象 X2,该对象引用新对象 A2
和 B2(分别为 A 和 B 的副本)。B2 又引用新对象 C2,C2 是 C 的副本。
Shallow Copy(影子拷贝) VS Deep Copy(深拷贝)
最新推荐文章于 2025-03-12 15:20:41 发布
本文介绍了浅拷贝(ShallowCopy)与深拷贝(DeepCopy)的概念及其实现方式。浅拷贝创建新对象并仅复制非静态字段,对于引用类型的字段则只复制引用而非对象本身。而深拷贝不仅复制对象,还复制所有引用的对象,确保完全独立。
1123

被折叠的 条评论
为什么被折叠?



