这个是为了让你明白什么叫浅表复本。
class Content这个输出结果表明,复杂类型的con只是引用被复制了,而对于值类型的val,值被复制了。
因此,更改cloner1.con.val的时候,cloner2.con.val的值也会变。
而cloner1.val被更改的时候,cloner2.val不受影响。
简而言之,就是说,只有第一层的值会被复制,就是简单的类型的字段,比如字符串,数字,结构体这些,这样,它们互相之间就没有关系了,更改这个不会影响到另一个。而复杂类型,带两个.的,它的值就不会被复制了,因此互相之间还是有关系的。
追问那我怎么知道哪个是深度复制哪个是浅度复制呢
追答C#没有深度复制,要想有,就得自己实现。所以一般都是浅表复制,如果要判断,就修改一个深层的,比如cloner1.con.val这样的,就能看出来了,如果复制的对象的这个值也变了,说明是浅表复制。如果不变,那就是深层的。
追问大哥能再给我看看这个this是调用谁的吗
怎么叫给分配内存,是实例化还是什么呢
追答就是需要实例化,给你个具体的网址去看看详细的介绍吧http://www.cnblogs.com/Autumoon/archive/2008/08/18/1270685.html
本回答被提问者采纳