我在MSDN上看到过这样的语法:yield break,但我不知道它有什么作用。有人知道吗?
它指定迭代器已结束。你可以想到yield break
as a 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");
在这种情况下,最后一条语句永远不会执行,因为我们提前离开了该函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)