C# 数组深拷贝
程序员文章站
2022-07-07 12:30:10
数组深拷贝,即完全复制出一份新的数组,两个数组内容完全相同。 一般有四种方法: 1. 循环遍历复制 2. 数组的成员方法:CopyTo CopyTo方法用作将源数组全部拷贝到目标数组中,可以指定目标数组的起始索引,但需确保目标数组能容纳下源数组,CopyTo可用来合并多个数组 3. Array类的静 ......
数组深拷贝,即完全复制出一份新的数组,两个数组内容完全相同。
一般有四种方法:
1. 循环遍历复制
2. 数组的成员方法:CopyTo
CopyTo方法用作将源数组全部拷贝到目标数组中,可以指定目标数组的起始索引,但需确保目标数组能容纳下源数组,CopyTo可用来合并多个数组
3. Array类的静态方法:Array.Copy
Array.Copy方法可以将源数组的部分元素拷贝到目标数组中,三个参数时,可以指定源数组复制的元素数目(从第一个元素开始);五个参数时,不仅可以指定源数组复制的元素数目及起始索引,也能指定目标数组的起始索引。
4. object类成员方法:Clone
由于Clone的返回值类型是object,所以要强制转换为int[]
//已知数组如下: int[] array = { 1, 5, 9, 3, 7, 2, 8 ,6, 4}; //(1).遍历拷贝 int[] copy1 = new int[array .Length]; for (int i = 0; i < array.Length; i++) { copy1[i] = array[i]; } //(2).使用CopyTo方法 int[] copy2 = new int[array .Length]; array.CopyTo(copy2, 0); //(3).使用Array.Copy方法 int[] copy3 = new int[array .Length]; Array.Copy(array, copy3, array.Length); //(4).使用Clone方法 int[] copy4=(int[])array.Clone();