1. System.ArrayCopyTo()
System.ArrayCopyTo() 是 C# 中数组的一个方法,用于将数组中的元素复制到另一个数组中。
1.1 方法定义
System.ArrayCopyTo() 的定义如下:
public void ArrayCopyTo(Array array, int index);
其中,array 表示要将元素复制到的目标数组,index 表示将数组复制到目标数组中的哪个位置开始。
1.2 方法用法
例如,有两个数组 arr1 和 arr2,希望将 arr1 中的元素复制到 arr2 中:
int[] arr1 = {1,2,3,4,5};
int[] arr2 = new int[5];
arr1.ArrayCopyTo(arr2,0);
注意,由于数组下标从 0 开始,因此参数 index 取值为 0,将 arr1 中的元素从 arr2 的第 0 个位置开始复制。
2. System.ArrayClone()
System.ArrayClone() 是 C# 中数组的一个方法,用于创建当前数组的浅表副本。
2.1 方法定义
System.ArrayClone() 的定义如下:
public object Clone();
该方法返回一个新的数组,该数组是当前数组的一个浅表副本。
2.2 方法用法
例如,有一个数组 arr1,希望创建一个浅表副本 arr2:
int[] arr1 = {1,2,3,4,5};
int[] arr2 = (int[])arr1.Clone();
需要注意的是,因为 arr2 只是 arr1 的一个浅表副本,因此它们共享相同的元素。如果在 arr1 中修改一个元素,arr2 中对应位置的元素也会发生变化,反之亦然。
3. System.ArrayCopyTo() 与 System.ArrayClone() 的区别
System.ArrayCopyTo() 和 System.ArrayClone() 都是 C# 中操作数组的方法。它们的主要区别在于:
System.ArrayCopyTo() 将源数组中的元素复制到目标数组中,不改变源数组;
System.ArrayClone() 创建一个当前数组的浅表副本,对副本的操作也会影响到源数组。
需要根据具体情况决定选择使用哪个方法。