C#: break vs continue — cuál es la diferencia en los bucles
Hola a todos. Acabo de empezar a aprender C# y tengo confusión con los operadores break y continue dentro de los bucles (for, while, foreach). Entiendo que ambos afectan de alguna manera la ejecución del bucle, pero no logro captar la diferencia concreta.
Por ejemplo, tengo este código:
```csharp
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break;
}
Console.WriteLine(i);
}
```
Esperaba que imprimiera los números del 0 al 9, pero solo imprimió 0, 1, 2, 3, 4. ¿Por qué? Pensé que break simplemente saltaba la iteración cuando i == 5.
Y otro ejemplo con continue:
```csharp
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
continue;
}
Console.WriteLine(i);
}
```
Este código imprimió todos los números del 0 al 9, excepto el 5. Es decir, ¿continue realmente salta la iteración? Pero entonces, ¿por qué break se comporta de manera diferente?
Expliquen, por favor, en palabras simples: ¿cuál es la diferencia fundamental entre break y continue? ¿Cuándo usar cada operador? ¿Y hay algún truco?