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

Loop while do C#

O C# oferece o loop while, que repete a execução do bloco de código enquanto a condição especificada retornar false.

Sintaxe:

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

O loop while começa com a palavra-chave while e deve conter uma expressão de condição booleana entre colchetes, que retorna true ou false. Ele executa um bloco de código até que a expressão de condição especificada retorne false.

O loop for contém inicialização e incremento/Parte de decremento. Ao usar o loop while, complete a inicialização antes do início do loop e faça o incremento ou decremento dentro do loop.

int i = 0; // Inicialização
while (i < 10) //Condição
{
    Console.WriteLine("i = {0}", i);
    i++; // Incremento
}
Saída:
i = 0 
i = 1 
i = 2 
i = 3 
i = 4 
i = 5 
i = 6 
i = 7 
i = 8 
i = 9

O loop while acima contém uma expressão i <10No loop while, use i ++Aumente o valor de i para1Quando o valor de i for10e a condição i <10Quando retornar false, será executado o loop while acima.

Use as palavras-chave break ou return para sair do loop while em algumas condições, conforme mostrado a seguir.

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

Certifique-se de que o resultado da avaliação da expressão de condição seja false ou saia do loop while em algumas condições, para evitar loops infinitos. O seguinte loop falta uma condição apropriada ou uma interrupção do loop, tornando-o um loop while infinito.

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

Loop while aninhado

O C# permite que o loop while esteja aninhado em outro loop, conforme mostrado a seguir. No entanto, não é recomendado usar loops while aninhados, pois é difícil depurar e manter.

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