在研究了退出嵌套循环的方法后,我决定尝试使用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 (Ultimate) 就会抱怨(并且它不会编译),
但是,如果我将代码更改为此,
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;
;即便如此,我仍然想找出导致此错误的原因。