Avatar ·

C#: break vs continue — qual a diferença em loops?

Olá a todos. Acabei de começar a aprender C# e fiquei confuso com os operadores break e continue dentro de loops (for, while, foreach). Entendo que ambos afetam a execução do loop de alguma forma, mas não consigo captar a diferença específica. Por exemplo, tenho este código: ```csharp for (int i = 0; i < 10; i++) { if (i == 5) { break; } Console.WriteLine(i); } ``` Esperava que ele exibisse os números de 0 a 9, mas ele exibiu apenas 0, 1, 2, 3, 4. Por quê? Pensei que break apenas pulava a iteração quando i == 5. E outro exemplo com continue: ```csharp for (int i = 0; i < 10; i++) { if (i == 5) { continue; } Console.WriteLine(i); } ``` Este código exibiu todos os números de 0 a 9, exceto o 5. Ou seja, continue realmente pula a iteração? Mas então por que break se comporta de forma diferente? Expliquem, por favor, em palavras simples: qual é a diferença fundamental entre break e continue? Quando usar cada operador? E existem algumas armadilhas?