突然接触到,所以就写一下共享。
首先说明一下,数组是引用类型的,所以注意不要在复制时复制了地址而没有复制数值!
事实上在复制数组的时候。一定要用new在堆中开辟一块新的空间专门用于存放数组。这样才是有效的。
(1)
int[] pins = { 9, 3, 7, 2 };
int[] copy=new int[pins.length];
for (int i
= 0; i < copy.length; i++)
{
copy[i]
= pins[i];
}
(2)
int[]
copy = new int[pins.Length];
pins.CopyTo(copy, 0);
(3)
Int[] pins= new int[4]{9,3,7,2};
Int[] alias=pins;
注意这样的复制仅仅是一种引用而已。仅仅是把数据的地址传递给了alias数组,所以不太推荐这样的方式来复制数组;
(4)
Array.Copy(pins,copy,copy.Length)
(5)
Int[] copy=(int[])pins.Clone();
这里说明一下为什么要用到int[]的强制类型转换。原因就在于Clone的结果类型是object的,所以须要强制转换为int[]
Object类事实上就是我们全部类的基类。
欢迎交流 http://blog.****.net/ycwol/article/details/40151575
版权声明:本文博主原创文章。博客,未经同意不得转载。