English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Bucle while de C#

C# ofrece el bucle while, que repite la ejecución del bloque de código mientras la condición especificada devuelva false.

Sintaxis:

while(condition)
{  
  //bloque de código
}

El bucle while comienza con la palabra clave while y debe contener una expresión de condición booleana entre corchetes, que devuelve true o false. Ejecuta un bloque de código hasta que la expresión de condición especificada devuelva false.

Este bucle for contiene inicialización y incremento/partes de decremento. Al usar el bucle while, debes completar la inicialización antes de comenzar el ciclo y las operaciones de incremento o decremento deben realizarse dentro del ciclo.

int i = 0; // inicialización
while (i < 10) //condición
{
    Console.WriteLine("i = {0}", i);
    i++; // incremento
}
Salida:
i = 0 
i = 1 
i = 2 
i = 3 
i = 4 
i = 5 
i = 6 
i = 7 
i = 8 
i = 9

El bucle while superior contiene una expresión i <10. En el bucle while, utiliza i ++aumenta el valor de i a1. Cuando el valor de i es igual a10y la condición i <10Al regresar false, se ejecutará el ciclo while superior.

Sal del bucle while utilizando la palabra clave break o return bajo ciertas condiciones, como se muestra a continuación.

int i = 0;
while (true)
{
    Console.WriteLine("i = {0}", i);
    i++;
    if (i > 10)
        break;
}

Asegúrate de que el resultado de la expresión de condición sea false, o sal de la循环 while bajo ciertas condiciones para evitar bucles infinitos. La siguiente ciclo falta una condición adecuada o una interrupción de la ciclo, lo que lo hace un bucle while infinito.

int i = 0;
while (i > 0)
{
    Console.WriteLine("i = {0}", i);
    i++;
}

Bucle while anidado

C# permite que el bucle while esté anidado en otro bucle while, como se muestra a continuación. Sin embargo, no se recomienda usar bucles while anidados, ya que son difíciles de depurar y mantener.

int i = 0, j = 1;
while (i < 2)
{
    Console.WriteLine("i = {0}", i);
    i++;
    while (j < 2)
    {
        Console.WriteLine("j = {0}", j);
        j++;
    }
}
Salida:
i = 0 
j = 1 
i = 1