Bucle de C#: romper o continuar
En un bucle de C# (no dude en responder para otros lenguajes), ¿cuál es la diferencia entre break
y continue
como medio para abandonar la estructura del bucle e ir a la siguiente iteración?
Ejemplo:
foreach (DataRow row in myTable.Rows)
{
if (someConditionEvalsToTrue)
{
break; //what's the difference between this and continue ?
//continue;
}
}
break
saldrá del ciclo por completo, continue
simplemente omitirá la iteración actual.
Por ejemplo:
for (int i = 0; i < 10; i++) {
if (i == 0) {
break;
}
DoSomeThingWith(i);
}
La interrupción hará que el bucle salga en la primera iteración; DoSomeThingWith
nunca se ejecutará. Esto aqui:
for (int i = 0; i < 10; i++) {
if(i == 0) {
continue;
}
DoSomeThingWith(i);
}
No se ejecutará DoSomeThingWith
for i = 0
, pero el bucle continuará y se DoSomeThingWith
ejecutará for i = 1
to i = 9
.
Una forma realmente sencilla de entender esto es colocar la palabra "bucle" después de cada una de las palabras clave. Los términos ahora tienen sentido si se leen simplemente como frases cotidianas.
break
bucle: el bucle se rompe y se detiene.
continue
bucle: el bucle continúa ejecutándose en la siguiente iteración.