值类型的复制没有浅复制或深复制之说。浅(深)复制针对的是引用类型。比如数组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; }
上述图解:
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; } }
上述图解:
原文:http://www.cnblogs.com/tobecabbage/p/3542010.html