Resumo : neste tutorial, você aprenderá como usar a while
instrução C# para executar um bloco enquanto uma expressão booleana é true
.
Introdução à instrução while do C#
A while
instrução avalia uma expressão booleana e executa um bloco repetidamente enquanto a expressão for true
. Aqui está a sintaxe da while
instrução:
while (expression)
{
// statement
}
Linguagem de código: C# ( cs )
Como funciona.
O expression
, que segue a while
palavra-chave, deve ser uma expressão booleana avaliada como true
ou false
.
A while
declaração avalia o expression
primeiro. Se for expression
avaliado como true
, ele executará o bloco entre chaves.
Depois de concluída a execução do bloco, a while
instrução verifica expression
novamente. E executará o bloco novamente enquanto expression
for true
.
Se expression
for false
, a while
instrução sai e passa o controle para a instrução depois dela.
Portanto, você precisa alterar algumas variáveis dentro do bloco para fazer o expression
false
em algum momento. Caso contrário, você terá um loop indefinido .
Como o expression
é verificado no início de cada iteração, a while
instrução costuma ser chamada de loop de pré-teste.
O fluxograma a seguir ilustra como funciona a instrução while do C#.
Exemplos de instruções while em C#
Vejamos alguns exemplos de uso da while
declaração.
1) Exemplo simples de instrução while em C#
O exemplo a seguir usa a while
instrução loop para enviar cinco números de 1 a 5 para o console:
int counter = 0;
while(counter < 5)
{
counter++;
Console.WriteLine(counter);
}
Linguagem de código: C# ( cs )
Saída:
1
2
3
4
5
Linguagem de código: C# ( cs )
Como funciona.
Primeiro, declare uma counter
variável e inicialize-a com zero.
Segundo, entre no while
loop porque a seguinte expressão é true
:
counter < 5
Linguagem de código: C# ( cs )
Terceiro, aumente em counter
um e imprima no console; repita esta etapa enquanto counter
for menor que 5.
2) Usando a instrução C# while para calcular a média
O programa a seguir solicita que os usuários insiram uma lista de números e calculem a média:
double number = 0,
total = 0,
count = 0,
average = 0;
string input = "";
Console.WriteLine("Enter a list of numbers to calculate the average (Q - quit):");
while (input != "Q" && input != "q")
{
input = Console.ReadLine();
if (input != "Q" && input != "q")
{
number = Convert.ToDouble(input);
total += number;
count++;
}
}
if (count > 0)
{
average = total / count;
}
Console.WriteLine($"Average:{average}");
Linguagem de código: C# ( cs )
Como funciona.
Primeiro, declare variáveis e inicialize-as:
double number = 0,
total = 0,
count = 0,
average = 0;
string input = "";
Linguagem de código: C# ( cs )
Em segundo lugar, imprima as instruções:
Console.WriteLine("Enter a list of numbers to calculate the average (Q - quit):");
Linguagem de código: C# ( cs )
Terceiro, solicite aos usuários que insiram um número até inserirem a letra Q
ou q
. Em cada iteração, calcule o total e conte os números inseridos:
while (input != "Q" && input != "q")
{
input = Console.ReadLine();
if (input != "Q" && input != "q")
{
number = Convert.ToDouble(input);
total += number;
count++;
}
}
Linguagem de código: C# ( cs )
Por fim, calcule a média se os usuários inserirem pelo menos um número e enviá-lo para o console:
if (count > 0)
{
average = total / count;
}
Console.WriteLine($"Average:{average}");
Linguagem de código: C# ( cs )
Na saída a seguir, inserimos três números 10, 20 e 30. E o programa mostra a média como 20:
Enter a list of numbers to calculate the average (Q - quit):
10
20
30
q
Average:20
Linguagem de código: C# ( cs )
Resumo
- Use a
while
instrução para executar um bloco desde que uma expressão booleana sejatrue
.