
Resumen: en este tutorial, aprenderás a usar la instrucción break de C# para terminar anticipadamente un bucle, incluidos los bucles while
, do while
y for
.
Introducción a la instrucción break de C#
La declaración break te permite terminar un ciclo antes de tiempo, incluidos while, do while y for loop.
Esta es la sintaxis de la instrucción break
:
break;
C# solo te permite usar la declaración break
dentro de un bucle (o una declaración de cambio). Este tutorial se enfoca en cómo usar la instrucción break
dentro de un ciclo.
En la práctica, usará la instrucción break
para terminar un bucle en función de una condición. Normalmente, la condición es independiente de la condición del bucle. Así que usará la instrucción break con una instrucción if como esta:
while (expression)
{
if (condition)
{
break;
}
}
Tenga en cuenta que antes y/o después del bloque if, puedes tener una o más declaraciones.
Del mismo modo, puedes usar la instrucción break dentro de un ciclo do while
como este:
do
{
if (condition)
{
break;
}
} while (expression);
y dentro de un bucle for
:
for (initializer; condition; iterator)
{
if (condition)
{
break;
}
}
Si tiene un ciclo anidado, la declaración break
solo finaliza el ciclo envolvente, no tanto el interno como el externo. Ya verás cómo funciona en los siguientes ejemplos.
Ejemplos de la sentencia break en C#
Tomemos algunos ejemplos del uso de la instrucción break
de C#
.
1) Ejemplos de cómo usar la declaración break de C# dentro de un bucle for
El siguiente ejemplo muestra cómo usar la instrucción break
dentro de un bucle for
:
string greeting = "Buenos días!";
for (int i = 0; i < greeting.Length; i++)
{
if (greeting[i] == ' ')
{
break;
}
Console.Write(greeting[i]);
}
Resultado:
¡Buenos
En este ejemplo, el ciclo for itera sobre los caracteres de la cadena "¡Buenos días!
". Las sentencias if
y break
terminan el bucle si el carácter actual es el espacio (' '
). Por lo tanto, la salida solo muestra los caracteres del ¡ a la s
en la cadena "¡Buenos días!
".
2) Usar el break de C# para imprimir una media pirámide
El siguiente ejemplo ilustra cómo usar la instrucción break
dentro de un ciclo anidado:
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
// exit the inner loop only
if(j > i)
{
break;
}
// print numbers each row
Console.Write($"{j} ");
}
Console.WriteLine();
}
Resultado:
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
En este ejemplo:
- El bucle exterior determina los niveles de la pirámide de
0 a 5
. - El bucle interno imprime los números si son menores que el nivel actual. Dado que el ciclo interno usa la instrucción break, terminará cuando el número sea mayor que el nivel actual (
j > i
).
3) Usar la instrucción break de C# dentro de un ciclo while
El siguiente ejemplo calcula el total de enteros de entrada. Utiliza la instrucción break para terminar el bucle si ingresa "Q" o "q":
string input;
int total = 0;
Console.WriteLine("Enter integers to calculate total(q or Q to quit):");
while (true)
{
input = Console.ReadLine();
if(input == "Q" || input == "q")
{
break;
}
total += Convert.ToInt32 (input);
}
Console.WriteLine(total);
Cómo funciona.
Primero, crea un bucle while con una condición que siempre sea verdadera:
while (true)
{
//...
}
En segundo lugar, obten la entrada del usuario y asígnala a la variable de entrada:
input = Console.ReadLine();
Tercero, termina el bucle si la cadena de entrada es "Q" o "q":
if (input == "Q" || input == "q")
{
break;
}
Finalmente, agrega el número de entrada a la variable total:
total += Convert.ToInt32(input);
Aquí hay una salida de muestra:
Enter integers to calculate total(q or Q to quit):
1
2
3
q
The total is 6
4) Usar la instrucción break de C# dentro de un bucle do while
double total = 0,
average = 0;
int count = 0;
Console.WriteLine("Enter integers to calculate average (q or Q to quit):");
do
{
string input = Console.ReadLine();
if (input == "Q" || input == "q")
{
break;
}
total += Convert.ToInt32(input);
count++;
} while (true);
if (count > 0)
{
average = total / count;
}
Console.WriteLine($"The average is {average}");
Cómo funciona.
Primero, declara variables para almacenar el total
, el promedio y la cadena de entrada:
double total = 0,
average = 0;
int count = 0;
En segundo lugar, crea un ciclo do while
con la condición que siempre sea verdadera:
do
{
//...
} while (true);
Tercero, solicita ingresar un número:
string input = Console.ReadLine();
Cuarto, salir del bucle si la entrada es "q" o "Q"
:
if (input == "Q" || input == "q")
{
break;
}
Quinto, agrega el número de entrada al total
y aumente la variable de count
:
total += Convert.ToInt32(input);
count++;
Finalmente, calcula el promedio después de que termine el ciclo:
if (count > 0)
{
average = total / count;
}
A continuación, se muestra una ejecución de prueba:
Enter integers to calculate the average (q or Q to quit):
10
20
30
q
The average is 20
Resumen
- Utiliza la instrucción
break
para finalizar un bucle en cualquier momento, incluidoswhile
,do while
yfor
. - La instrucción
break
solo finaliza el ciclo de cierre si lo usas en un ciclo anidado.