我在 MSDN: 中看到过这种语法yield break,但我不知道它的作用。有人知道吗?
yield break
它指定迭代器已经结束。您可以将其yield break视为return不返回值的语句。
return
例如,如果您将函数定义为迭代器,则函数的主体可能如下所示:
for (int i = 0; i < 5; i++) { yield return i; } Console.Out.WriteLine("You will see me");
请注意,循环完成所有循环后,将执行最后一行,您将在控制台应用程序中看到该消息。
或者像这样yield break:
int i = 0; while (true) { if (i < 5) { yield return i; } else { // note that i++ will not be executed after this yield break; } i++; } Console.Out.WriteLine("Won't see me");
在这种情况下,最后一条语句永远不会执行,因为我们提前离开了函数。