Goto ok para romper loops aninhados?
@JavaScript suporta uma sintaxe semelhante a goto para interromper loops aninhados. Não é uma ótima idéia em geral, mas é considerada uma prática aceitável. C # não suporta diretamente obreak labelName
sintaxe ... mas suporta o infamegoto
.
Acredito que o equivalente possa ser alcançado em C #:
int i = 0;
while(i <= 10)
{
Debug.WriteLine(i);
i++;
for(int j = 0; j < 3; j++)
if (i > 5)
{
goto Break;//break out of all loops
}
}
Break:
Pela mesma lógica do JavaScript, o cenário de loop aninhado é um uso aceitável degoto
? Caso contrário, a única maneira de obter essa funcionalidade é definindo umbool
com o escopo apropriado.