c#中对象的复制

 时间:2024-10-22 05:16:20

C#中对象的使用是面向对象设计的重要知识点,那怎么复制对象呢?让我们一起来学习一下

c#中对象的复制

工具/原料

电脑

Vs2010

方法/步骤

1、对象的复制不是实例化一个对象后,如"personp=newperson();personp2=p1",这不是对象复制,p1,p2都是指向同一个实例,而对象复制包含两种,分为浅复制和深复制。

c#中对象的复制

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

c#中对象的复制

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

c#中对象的复制

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

c#中对象的复制

c#中对象的复制

明日之后手游如何使用键鼠操作?北通E1安卓攻略 英雄联盟手游中的恩怨相抵可以锁定敌人吗? 异界幻想攻略 合金装备奇爱怎么死的 辐射避难所前期任务刷箱子详细攻略
热门搜索
恐怖 图片 黄瓜图片大全 奇异图片 关于梅花的图片 郎玉图片