在研究如何退出嵌套循环后,我决定尝试使用goto
。
private void example()
{
for (int i = 0; i < 100; i++)
{
for (int ii = 0; ii < 100; ii++)
{
for (int iii = 0; iii < 100; iii++)
{
goto exitMethod;
}
}
}
exitMethod:
}
但出于某些原因,如果我将goto
标签放在方法的末尾,Visual Studio 2012(终极版)会抱怨(并且它将无法编译),
但是如果我改成这样:
private void example()
{
for (int i = 0; i < 100; i++)
{
for (int ii = 0; ii < 100; ii++)
{
for (int iii = 0; iii < 100; iii++)
{
goto exitMethod;
}
}
}
exitMethod:
int someUnneededVariable; // Just an example, if I add ANY piece of code the error vanishes.
}
没有出现错误(可以编译);我已经搜索了我所知道的所有MSDN参考资料,但我找不到任何关于这个的信息。
我知道我可以轻松通过使用return;
来解决这个问题;即便如此,我仍然想找出是什么导致了这个错误。
goto
可能很有用。(async/await 有效地生成了一堆goto语句。) - Jon Skeetexit loop myOuterLoopName;
。 - Matthew Watson