首页 > 其他 > 详细

浅复制 深复制 序列化

时间:2014-02-09 23:52:10      阅读:581      评论:0      收藏:0      [点我收藏+]
  • 浅复制

  值类型的复制没有浅复制或深复制之说。浅(深)复制针对的是引用类型。比如数组Array的Clone()就是浅复制,对于值类型数组,克隆方法会产生两个独立的数组,克隆引用类型数组会产生指向相同对象的两个数组。

     举例,数组的Clone()方法,返回object类型的引用,它必须被强制转换成数组类型。

static void Main(){
    int[] intArr1={1,2,3};
    int[] intArr2=(int[])intArr1.Clone();
    intArr2[0]=100,intArr2[1]=200;intArr2[2]=300;
}

上述图解:
bubuko.com,布布扣

bubuko.com,布布扣
class A{
    public int value=5;
}
class Program{
    static void Main(){
        A[] AArray1=new A[3]{new A(),new A(),new A()};
        A[] AArray2=(A[])AArray1.Clone();
        AArray2[0].Value=100;
        AArray2[1].Value=200;
        AArray2[3].Value=300;
    }
}
bubuko.com,布布扣

上述图解:

bubuko.com,布布扣

浅复制 深复制 序列化

原文:http://www.cnblogs.com/tobecabbage/p/3542010.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!