Bucle de C#: romper o continuar

Resuelto Seibar asked hace 16 años • 16 respuestas

En un bucle de C# (no dude en responder para otros lenguajes), ¿cuál es la diferencia entre breaky continuecomo 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;
    }
}
Seibar avatar Aug 09 '08 04:08 Seibar
Aceptado

breaksaldrá del ciclo por completo, continuesimplemente 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; DoSomeThingWithnunca se ejecutará. Esto aqui:

for (int i = 0; i < 10; i++) {
    if(i == 0) {
        continue;
    }

    DoSomeThingWith(i);
}

No se ejecutará DoSomeThingWithfor i = 0, pero el bucle continuará y se DoSomeThingWithejecutará for i = 1to i = 9.

Michael Stum avatar Aug 08 '2008 21:08 Michael Stum

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.

breakbucle: el bucle se rompe y se detiene.

continuebucle: el bucle continúa ejecutándose en la siguiente iteración.

JeremiahClark avatar Aug 08 '2008 22:08 JeremiahClark