Instruções de salto: break, continue, goto

AS instruções de salto em C# permitem alterar o fluxo de execução dentro dos loops, tornando possível interromper, saltar ou redirecionar iterações conforme necessário. As principais instruções de salto usados em repetições são: break, continue e goto.

break

  • Encerra imediatamente a execução do loop mais interno (for, while, do-while, foreach) e transfere o controle para a próxima instrução após o loop.
  • Muito útil para sair de um loop ao encontrar uma condição específica.

Exemplo:

for (int i = 0; i < 10; i++)
{
if (i == 5)
break; // Sai do loop quando i for igual a 5
Console.WriteLine(i);
}
// Saída: 0 1 2 3 4

Neste exemplo, o loop é interrompido quando i atinge.

continue

  • Interrompe a iteração atual do loop e inicia a próxima iteração, saltando o restante do bloco de código naquele ciclo.
  • Útil para ignorar determinadas condições sem sair do loop.

Exemplo:

for (int i = 0; i < 5; i++)
{
if (i < 3)
{
Console.WriteLine("skip");
continue; // Pula para a próxima iteração
}
Console.WriteLine("done");
}
// Saída: skip, skip, skip, done, done

Aqui, para i menor que 3, o comando continue faz o loop pular para o próximo valor de i.

goto

  • Transfere o controle para um rótulo específico dentro do mesmo método.
  • Pode ser usado para sair de loops aninhados ou redirecionar o fluxo em situações específicas, embora seu uso deva ser moderado para não comprometer a legibilidade do código.

Exemplo:

for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
if (i == 1 && j == 1)
goto FimDoLoop; // Sai dos dois loops
Console.WriteLine($"{i},{j}");
}
}
FimDoLoop:
Console.WriteLine("Fim dos loops.");

Neste exemplo, goto FimDoLoop; faz o programa sair de ambos os loops quando i e j são iguais a.

Resumo

  • Use break para sair do loop imediatamente.
  • Use continue para pular para a próxima iteração do loop.
  • Use goto para saltar para um rótulo específico, geralmente para sair de loops aninhados.

Estas instruções aumentam o controle sobre o fluxo das repetições e ajudam a lidar com situações específicas de forma eficiente em C#.