深拷贝的精确描述是这样的:对对象的所有成员进行深拷贝。
浅表拷贝则是:
对对象的所有成员进行拷贝,如果该成员是引用类型的,则只拷贝引用。
深拷贝和浅表拷贝的区别在于对象拥有引用类型成员时。
深拷贝要求对引用类型的成员也进行深拷贝。浅表拷贝则只是简单的复制引用。
假设一个对象A,它包含了B,则深拷贝会先将B进行深拷贝产生B1,再创建A1,把B1作为A1的成员。
浅表拷贝因为只拷贝引用,对象B不会被复制一份。
实现克隆操作,在.NET中可以使用Object类的MemberwiseClone()方法来实现对象的浅表拷贝或通过序列化的方式来实现深拷贝。
http://dev.csdn.net/develop/article/20/20324.shtm
浅表拷贝则是:
对对象的所有成员进行拷贝,如果该成员是引用类型的,则只拷贝引用。
深拷贝和浅表拷贝的区别在于对象拥有引用类型成员时。
深拷贝要求对引用类型的成员也进行深拷贝。浅表拷贝则只是简单的复制引用。
假设一个对象A,它包含了B,则深拷贝会先将B进行深拷贝产生B1,再创建A1,把B1作为A1的成员。
浅表拷贝因为只拷贝引用,对象B不会被复制一份。
实现克隆操作,在.NET中可以使用Object类的MemberwiseClone()方法来实现对象的浅表拷贝或通过序列化的方式来实现深拷贝。
http://dev.csdn.net/develop/article/20/20324.shtm
本文详细解释了深拷贝与浅拷贝的概念及其区别,并提供了.NET中实现这两种拷贝方式的具体方法。

1万+

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



