前言:迭代器是C#的基本工具之一
1. 迭代器的结构
using System.Runtime.InteropServices;
namespace System.Collections
{
[ComVisible(true)]
[Guid("496B0ABF-CDEE-11d3-88E8-00902754C43A")]
public interface IEnumerator
{
object Current { get; }
bool MoveNext();
void Reset();
}
}
Current 遍历当前类型时,存储当前元素。
MoveNext(),没调用一次,移动到下一个元素,返回下一个元素是否为空
Reset() 重置到列表最开始
枚举器就是实现IEnumerator接口,通过MoveNext()获取下一个元素来遍历每个元素的方法。
2. 用迭代器实现