c#中对象的复制
来源:网络收集 点击: 时间:2024-04-12【导读】:
C#中对象的使用是面向对象设计的重要知识点,那怎么复制对象呢?让我们一起来学习一下工具/原料more电脑Vs2010方法/步骤1/4分步阅读
2/4
3/4
4/4
注意事项
对象的复制不是实例化一个对象后,如 person p=new person(); person p2=p1,这不是对象复制,p1,p2都是指向同一个实例,而对象复制包含两种,分为浅复制和深复制。

浅复制通过Object类里的MemberwiseClone方法实现的,通过类里的复制方法,复制一个对象P3,P3和P1的属性时一致的,P3的name属性重新赋值,那和P1的name值便会不一样,但是ID没有重新赋值,那P3和P1的ID都一样,共享同一个值

以下图片是运行结果,复制时,原始对象和复制对象是可以共用类里的属性的,因此都可以直接用点号 引用到类里的属性,如果更改

很多情况下浅复制会带来问题,因此就有了深复制,它和浅复制的区别在于原始对象和复制对象对引用成员的处理不一样,也通过Object类里的MemberwiseClone方法实现的,但需要在复制对象中创建新的字段,这样就不会跟浅复制一样,其中哪个属性更改了,另一个对象的属性也跟着改变,而是相互独立的,以下是代码和运行结果


可以通过Object.RefernceEquals(对象,对象)来看他们是否指向同一实例
希望对大家有所帮助,谢谢你们的观看
编程版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_492213.html
上一篇:如何让电视识别手机为u盘
下一篇:余额宝不能转入怎么办 余额宝转入限额怎么办