北京理工大学金旭亮老师C#(87—ObjectClone)

对象复制

对象的“复制”,指的是把一个现有的对象“克隆”一份,得到一个新对象,这个新对象和老对象一模一样,但新、老对象是完全独立的

对象的“浅复制”

class MyClass
{
    public int MyClassValue = 100;
}

public static MyClass CloneObject(MyClass obj)
{
    MyClass newobj = new MyClass();
    newobj.MyClassValue = obj.MyClassValue;
    return newobj;
}
  • 使用简单的字段复制方式复制一个对象,称为对象的“浅复制”方式

考虑复合对象的情况

  • 浅复制来的复合对象是原复合对象
  • 浅复制方式,无法复制出真正独立的新对象。新老对象共享一个内部对象

对象的“深复制”方式

  • “深复制”在复制对象时,会把其所包容的内部对象也复制一份,并且这个过程是“递归”进行的。
  • .NET基类库中定义了一个ICloneable接口,所有需要实现深复制的对象,应该实现这个接口

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值