c# 用迭代器输出数组
时间: 2024-03-18 08:40:48 浏览: 21
好的,下面是使用迭代器输出数组的 C# 代码示例:
```
using System;
using System.Collections;
public class Program
{
public static void Main()
{
int[] arr = new int[] { 1, 2, 3, 4, 5 };
ArrayIterator<int> iterator = new ArrayIterator<int>(arr);
foreach (int element in iterator)
{
Console.WriteLine(element);
}
}
}
public class ArrayIterator<T> : IEnumerable
{
private T[] _array;
public ArrayIterator(T[] array)
{
this._array = array;
}
public IEnumerator GetEnumerator()
{
for (int i = 0; i < _array.Length; i++)
{
yield return _array[i];
}
}
}
```
在这个示例中,我们创建了一个ArrayIterator类,用于迭代数组。这个类实现了IEnumerable接口,并且在GetEnumerator()方法中使用yield return语句来返回数组中的每个元素。然后,我们可以在Main()方法中使用foreach语句来遍历这个迭代器,并输出数组中的每个元素。
注意,在这个示例中,我们使用了泛型来实现ArrayIterator类,这样可以让我们方便地使用不同类型的数组。如果你只需要输出int类型的数组,那么可以将ArrayIterator<T>改为ArrayIterator<int>,并且在GetEnumerator()方法中直接返回int类型的元素。