Array.Copy
Array.Copy 是 .NET Framework 提供的一个用于数组操作的方法,它用于将一个数组的内容复制到另一个数组。这个方法非常高效,适用于各种类型的数组,并且提供了多种重载形式,以满足不同的需求。Array.Copy 的基本用法
方法签名
Array.Copy 方法有多个重载形式,以下是一些常见的重载:-
Array.Copy(Array sourceArray, Array destinationArray)-
将整个
sourceArray的内容复制到destinationArray。 -
sourceArray和destinationArray的长度必须相同。
-
-
Array.Copy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length)-
从
sourceArray的sourceIndex开始,复制length个元素到destinationArray的destinationIndex位置。 -
sourceIndex和destinationIndex是从 0 开始的索引。
-
示例代码
示例 1:复制整个数组
csharp
int[] sourceArray = { 1, 2, 3, 4, 5 };
int[] destinationArray = new int[sourceArray.Length];
Array.Copy(sourceArray, destinationArray);
foreach (int item in destinationArray)
{
Console.Write(item + " ");
}
// 输出:1 2 3 4 5
示例 2:复制部分数组
csharp
int[] sourceArray = { 1, 2, 3, 4, 5 };
int[] destinationArray = new int[5];
Array.Copy(sourceArray, 1, destinationArray, 2, 3);
foreach (int item in destinationArray)
{
Console.Write(item + " ");
}
// 输出:0 0 2 3 4
参数说明
-
sourceArray:源数组,从中复制数据。 -
sourceIndex:源数组中的起始索引。 -
destinationArray:目标数组,将数据复制到此数组。 -
destinationIndex:目标数组中的起始索引。 -
length:要复制的元素数量。
注意事项
-
数组类型:
-
sourceArray和destinationArray的类型必须兼容。例如,不能将一个int[]数组的内容复制到一个string[]数组中。
-
-
数组长度:
-
确保目标数组有足够的空间来存储复制的数据。如果目标数组的空间不足,会抛出
ArgumentException。
-
-
性能:
-
Array.Copy是一个非常高效的数组复制方法,它使用内存复制操作来实现,性能优于手动循环复制。
-
-
线程安全:
-
Array.Copy是线程安全的,但如果你在多线程环境中操作数组,需要确保对数组的访问是线程安全的。
-
总结
Array.Copy 是一个非常实用的方法,用于高效地复制数组内容。它提供了多种重载形式,可以满足不同的需求,如复制整个数组或部分数组。使用时需要注意数组类型、长度和线程安全等问题,以确保代码的正确性和性能。
浙公网安备 33010602011771号