C# 数组CopyTo
时间: 2023-10-05 12:13:00 浏览: 107
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#数组取出来装到另一个数组里
在C#中,如果你想要将一个数组的内容复制到另一个数组里,你可以使用`Array.Copy()`方法、`List<T>`的`CopyTo()`方法,或者是直接的循环赋值。以下是几种常见的做法:
1. **使用Array.Copy()方法**:
```csharp
int[] sourceArray = {1, 2, 3, 4, 5};
int[] destinationArray = new int[sourceArray.Length];
Array.Copy(sourceArray, destinationArray, sourceArray.Length);
```
这会将`sourceArray`的所有元素原样复制到`destinationArray`。
2. **使用List<T>的CopyTo()方法**:
```csharp
List<int> sourceList = new List<int>{1, 2, 3, 4, 5};
List<int> destinationList = new List<int>();
destinationList.AddRange(sourceList);
// 或者
destinationList = sourceList.ToList(); // 如果不想改变源列表
```
这里先将`sourceList`转换成`List<int>`,然后通过`AddRange()`添加到`destinationList`。
3. **直接循环赋值**:
```csharp
int[] sourceArray = {1, 2, 3, 4, 5};
int[] destinationArray = new int[sourceArray.Length];
for (int i = 0; i < sourceArray.Length; i++)
{
destinationArray[i] = sourceArray[i];
}
```
这种方法适合于小型数组或者简单的场景。
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方法也将抛出异常。
阅读全文