迭代器

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";

}

posted @ 2021-02-26 09:35  郭海朋  阅读(47)  评论(0)    收藏  举报