c#中对象的复制

 时间:2024-10-12 08:33:08

1、对象的复制不是实例化一个对象后,如 "person p=new person(); person p2=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安卓攻略
  • 英雄联盟手游中的恩怨相抵可以锁定敌人吗?
  • 异界幻想攻略
  • 合金装备奇爱怎么死的
  • 辐射避难所前期任务刷箱子详细攻略
  • 热门搜索
    红领巾中国梦手抄报 六一儿童节手抄报诗 书韵飘香手抄报 教师手抄报 缅怀先烈手抄报大全 关于地震的手抄报图片 儿童节手抄报内容大全 推广普通话手抄报简单 绿色生活手抄报 清明节手抄报大全漂亮