foreach遍历复制数组
时间: 2024-11-24 10:24:33 浏览: 32
`foreach` 循环在C#中主要用于遍历集合类型的对象,包括数组。如果你想遍历并复制一个数组,你可以这样做:
```csharp
using System;
class Program
{
public static T[] CopyAndIterate<T>(T[] originalArray)
{
T[] copiedArray = new T[originalArray.Length]; // 创建一个新的数组,与原数组长度相同
// 使用foreach遍历原始数组,并将每个元素复制到新数组中
foreach (T element in originalArray)
{
copiedArray[copiedArray.Length - 1] = element; // 从后向前复制,防止索引越界
copiedArray.Length--; // 避免在下一次迭代时覆盖已复制的元素
}
return copiedArray;
}
public static void Main()
{
int[] testArray = { 1, 2, 3, 4, 5 };
int[] copiedTestArray = CopyAndIterate(testArray);
// 打印原数组和复制后的数组
Console.WriteLine("Original array:");
PrintArray(testArray);
Console.WriteLine("Copied array:");
PrintArray(copiedTestArray);
}
// 辅助方法用于打印数组
private static void PrintArray<T>(T[] array)
{
foreach (T item in array)
{
Console.Write(item + " ");
}
Console.WriteLine();
}
}
```
在这个示例中,`CopyAndIterate` 方法接收一个数组,创建一个新数组,并使用 `foreach` 循环逐个复制原数组元素到新数组。由于数组的索引是从后往前递增的,所以我们在复制后立即减少新数组的长度以避免覆盖。
阅读全文