После изучения способа выхода из вложенного цикла я решил попробовать использовать 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;
; тем не менее, я все равно хотел бы узнать, что вызывает эту ошибку.