C#中浅复制和深复制是什么意思?
答案:2 悬赏:10 手机版
解决时间 2021-04-02 13:06
- 提问者网友:喧嚣尘世
- 2021-04-02 03:58
C#中浅复制和深复制是什么意思?
最佳答案
- 五星知识达人网友:猎心人
- 2021-04-02 05:10
类比java:java中有一个对象池,当执行A a1 = new A()时,会在对象池中生成一个A的对象,并把这个对象的引用给a1;
浅拷贝就是如A a2 = a1,这时候对象池中只有一个A对象,只不过这个对象多了个a2的引用,此时a1和a2指向的是同一个对象;
深拷贝就是在对象池中再生成一个A对象给a2,这个A对象跟a1指向的A对象内容、引用等都一样,但此时a1和a2指向的是不同的两个对象。
浅拷贝就是如A a2 = a1,这时候对象池中只有一个A对象,只不过这个对象多了个a2的引用,此时a1和a2指向的是同一个对象;
深拷贝就是在对象池中再生成一个A对象给a2,这个A对象跟a1指向的A对象内容、引用等都一样,但此时a1和a2指向的是不同的两个对象。
全部回答
- 1楼网友:枭雄戏美人
- 2021-04-02 06:23
一般来说浅复制,只是复制了改对象的一个引用,也就是两个引用同时指向了一个对象。互相影响。深复制,是又创建了和原对象属性值一模一样的对象,不是复制原对象的引用。两个互不影响。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯