迭代器
迭代器是自动生成可枚举类型和枚举数的结构。
1.迭代器块
迭代器块是有一个或多个yield语句的代码块。
方法主体、访问器主体、运算符主体都可以是迭代器块。
迭代器块不需要同一时间内执行一序列的命令式语句,而是描述编译器创建枚举数类的行为。
yield return 语句执行了序列中返回的下一项。
yield break 语句指定在序列中没有更多项。
2.使用迭代器创建枚举数
class GetNumber
{
//使用迭代器创建枚举数
public IEnumerator<int> GetEnumerator()
{
yield return 1;
yield return 2;
yield return 3;
}
}
class Program
{
static void Main(string[] args)
{
GetNumber getNumber = new GetNumber();
foreach (int number in getNumber)
{
Console.WriteLine(number);
}
Console.ReadKey();
}
}
3.使用迭代器创建可枚举类型
class GetNumber
{
//使用迭代器创建可枚举类型
//要实现迭代器返回可枚举类型,可以实现或者不实现GetEnumerator(