1.数组的复制
数组的复制就是把已赋值的数组复制到另一个数组里面,并且改变第二个数组内容不会导致第一个数组内容的改变。
注:.net中数据有两种类型,一种是值类型另一种是引用类型。而数组是引用类型。所以下面的这个方法是不能狗完成上述功能。虽然看似我们运行出来以后a2确实能输出a1的内容,但当我们改变a1或者a2里面元素内容的时候,另一个也会发生改变。也就是说这个方法其实就是a1,a2同时指向了一个地址。
int[] a1 = { 1, 2, 3, 4, 5, 6 };
int[] a2 = a1;
方法一:for循环
int[] a1 = { 1, 2, 3, 4, 5, 6 };
int[] a2=new int[a1.Length];
for(int i=0;i<a1.Length;i++)
{
a2[i]=a1[i];
}
方法二:copyto方法
int[] a1 = { 1, 2, 3, 4, 5, 6 };
int[] a2=new int[a1.length];
a1.CopyTo(a2,0);
方法三:使用array类的静态方法Copy
int[] a1 = { 1, 2, 3, 4, 5, 6 };
int[] a2=new int[a1.length];
Array.Copy(a1, a2, a2.Length);
方法四:使用Clone方法(ICloneable接口里面的方法)
int[] a1 = { 1, 2, 3, 4, 5, 6 };
int[] a2=(int[])a1.Clone();
因为Clone()方法返回的是一个对象,所以要强制转换程适合的数据类型 |