C# 数组CopyTo
时间: 2023-10-05 21:13:00 浏览: 66
C# 中的数组 `CopyTo` 方法用于将一个数组中的元素复制到另一个数组中。它的语法如下:
```csharp
public void CopyTo(Array array, int index);
```
其中,`array` 参数是目标数组,`index` 参数是指从目标数组的哪个位置开始复制。
以下是一个示例:
```csharp
int[] sourceArray = { 1, 2, 3, 4, 5 };
int[] targetArray = new int[5];
sourceArray.CopyTo(targetArray, 0);
```
以上代码将源数组 `sourceArray` 的元素复制到目标数组 `targetArray` 中。由于目标数组的大小与源数组相同,因此第二个参数 `index` 为 0。执行完毕后,`targetArray` 数组将包含与 `sourceArray` 数组相同的元素。
相关问题
c#的CopyTo方法使用
C#中的CopyTo方法是用于将数组中的元素复制到另一个数组中。它的语法如下:
```
public void CopyTo(Array array, int index);
```
其中,array是目标数组,index是目标数组中开始复制的位置。
示例:
假设我们有一个源数组sourceArr和一个目标数组targetArr,我们可以使用CopyTo方法将sourceArr中的元素复制到targetArr中。例如:
```csharp
int[] sourceArr = { 1, 2, 3, 4, 5 };
int[] targetArr = new int[5];
sourceArr.CopyTo(targetArr, 0);
foreach (int i in targetArr)
{
Console.Write(i + " ");
}
```
上述代码将源数组sourceArr中的元素复制到目标数组targetArr中,并打印出目标数组中的元素。其中,CopyTo方法的第二个参数为0,表示从目标数组的第一个位置开始复制。输出结果为:
```
1 2 3 4 5
```
如果源数组的元素个数大于目标数组的元素个数,CopyTo方法将抛出异常。如果源数组为null或目标数组为null,CopyTo方法也将抛出异常。
【转载】 C#中使用CopyTo方法将List集合元素拷贝到数组Array中
在C#中,可以使用List集合的CopyTo方法将集合中的元素拷贝到数组中。具体实现代码如下:
```csharp
List<int> list = new List<int>() { 1, 2, 3, 4, 5 };
int[] array = new int[list.Count];
list.CopyTo(array);
```
其中,list是需要拷贝的List集合,array是目标数组。
需要注意的是,如果目标数组的长度小于List集合的元素个数,会抛出异常。因此,在使用CopyTo方法时,应该先检查目标数组的长度,确保它足够大。
```csharp
if (array.Length < list.Count)
{
throw new ArgumentException("目标数组长度不足!");
}
else
{
list.CopyTo(array);
}
```
另外,CopyTo方法还支持从指定位置开始拷贝元素:
```csharp
list.CopyTo(array, startIndex);
```
其中,startIndex是目标数组中开始拷贝的位置。如果startIndex小于0,会抛出异常;如果startIndex加上List集合元素个数大于目标数组的长度,也会抛出异常。