C# 拷貝數(shù)組的幾種方法
已知數(shù)組如下:
int[] a = { 1, 5, 9, 3, 7, 2, 8 ,6, 4};
(1).引用復(fù)制,易引起錯(cuò)誤按摘,不推薦
int[] copy = a;
(2).遍歷拷貝
int[] copy = new int[a .Length];
for (int i = 0; i < a.Length; i++)
{
copy[i] = a[i];
}
(3).使用CopyTo方法
int[] copy = new int[a.Length];
a.CopyTo(copy, 0);
CopyTo方法用作將源數(shù)組全部拷貝到目標(biāo)數(shù)組中快骗,可以指定目標(biāo)數(shù)組的起始索引,但需確保目標(biāo)數(shù)組能容納下源數(shù)組偎漫,CopyTo可用來(lái)合并多個(gè)數(shù)組
(4).使用Array.Copy方法
int[] copy = new int[a .Length];
Array.Copy(a, copy, a.Length);
Array.Copy方法可以將源數(shù)組的部分元素拷貝到目標(biāo)數(shù)組中爷恳,三個(gè)參數(shù)時(shí),可以指定源數(shù)組復(fù)制的元素?cái)?shù)目(從第一個(gè)元素開始)象踊;五個(gè)參數(shù)時(shí)温亲,不僅可以指定源數(shù)組復(fù)制的元素?cái)?shù)目及起始索引棚壁,也能指定目標(biāo)數(shù)組的起始索引。
(5).使用Clone方法
int[] copy=(int[])a.Clone();
由于Clone的返回值類型是object栈虚,所以要強(qiáng)制轉(zhuǎn)換為int[]