static void Main(string[] args)
{
foreach (var item in Foo())
{
//为啥直接输出了仨
Console.WriteLine(item);
}
Console.Read();
}
//定义迭代器
static IEnumerable<string> Foo(bool breakEarly) {
//yieId return 这个意思是当前枚举器产生的下一个元素
//可以返回多个值
yield return "One";
yield return "Two";
//yield break; 表示没有下一个元素了 直接跳出迭代
//迭代语句中不能直接使用return
if (breakEarly) {
yield break;
}
yield return "Shree";
}
原文:https://www.cnblogs.com/guohaipeng/p/14450622.html