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安卓攻略
  • 英雄联盟手游中的恩怨相抵可以锁定敌人吗?
  • 异界幻想攻略
  • 合金装备奇爱怎么死的
  • 辐射避难所前期任务刷箱子详细攻略
  • 热门搜索
    mpp文件用什么打开 与世无争的意思 男袜什么牌子好 我的世界活塞有什么用 telephone是什么意思 父亲节送什么礼物好呢 卡牌带什么召唤师技能 烦躁不安的意思 wtf是什么意思 什么最广阔阅读答案