C# 拷贝数组的几种方法
已知数组如下:
int[] array = { 1, 5, 9, 3, 7, 2, 8 ,6, 4};
(1).引用复制,易引起错误,不推荐
int[] copy = array;
(2).遍历拷贝
int[] copy = new int[array .Length];
for (int i = 0; i < array.Length; i++)
{
copy[i] = array[i];
}
(3).使用CopyTo方法
int[] copy = new int[array .Length];
array.CopyTo(copy, 0);
CopyTo方法用作将源数组全部拷贝到目标数组中,可以指定目标数组的起始索引,但需确保目标数组能容纳下源数组,CopyTo可用来合并多个数组
(4).使用Array.Copy方法
int[] copy = new int[array .Length];
Array.Copy(array, copy, array.Length);
Array.Copy方法可以将源数组的部分元素拷贝到目标数组中,三个参数时,可以指定源数组复制的元素数目(从第一个元素开始);五个参数时,不仅可以指定源数组复制的元素数目及起始索引,也能指定目标数组的起始索引。
(5).使用Clone方法
int[] copy=(int[])array.Clone();
由于Clone的返回值类型是object,所以要强制转换为int[]