Resumo : neste tutorial, você aprenderá como usar a do while
instrução C# para executar um bloco de código repetidamente, desde que uma condição seja true
.
Introdução à instrução do while em C#
A instrução C# do while
executa uma ou mais iterações, desde que uma condição seja true
.
O seguinte mostra a sintaxe da do while
instrução:
do
{
// statement
} while (expression);
Linguagem de código: JavaScript ( javascript )
Ao contrário da while
instrução, a do while
instrução verifica expression
no final de cada iteração. Portanto, é chamado de loop pós-teste.
A do while
instrução sempre executará a primeira iteração, independentemente do resultado da expressão. E executará o bloco repetidamente enquanto a expressão for true
.
Dentro do loop, você precisa alterar algumas variáveis para fazer a expressão false
de forma que o loop termine após algumas iterações. Caso contrário, você terá um loop indefinido.
O fluxograma a seguir ilustra como a do while
instrução funciona:
Exemplos de instruções do while em C#
Vejamos alguns exemplos de uso da do while
declaração.
1) Exemplo simples de instrução do while em C#
O exemplo a seguir mostra como usar a do while
instrução para imprimir cinco números de 1 a 5:
int counter = 0;
do
{
counter++;
Console.WriteLine(counter);
} while (counter < 5);
Linguagem de código: JavaScript ( javascript )
Saída:
1
2
3
4
5
Como funciona.
Primeiro, declare a counter
variável e inicialize seu valor como 0.
Segundo, aumente em counter
um e exiba-o no do while
bloco. Repita esta etapa enquanto the counter
for menor que 5. Como the counter
começa em um, a do while
instrução é executada exatamente cinco vezes.
2) Usando a instrução do-while para criar um jogo de adivinhação
O seguinte ilustra como usar a do while
afirmação para criar o jogo “Adivinhe o Número”. O programa irá gerar um número aleatório entre 1 e 10.
E você terá no máximo 4 turnos. Se o seu palpite for maior ou menor que um número secreto, você receberá uma dica:
int guess = 0, yourNumber;
string hint;
// Get a random number between 1 and 10
int secretNumber = (new Random()).Next(1, 10);
Console.WriteLine("Pick a number between 1 and 10. You'll have 4 turns.");
do
{
guess++;
// Get the user input
Console.Write($"Turn #{guess}. Your number:");
yourNumber = Convert.ToInt32(Console.ReadLine());
// Check the input number with the secret number
if (yourNumber < secretNumber)
{
hint = $"Your guess: {yourNumber}, which is too low.";
}
else if (yourNumber > secretNumber)
{
hint = $"Your guess: {yourNumber}, which is too high.";
}
else
{
hint = $"Bingo! It took you {guess} turns to guess the secret number {secretNumber}.";
}
Console.WriteLine(hint);
} while (guess < 4 && yourNumber != secretNumber);
if (yourNumber != secretNumber)
{
Console.WriteLine("Oops! you lost.");
}
Linguagem de código: JavaScript ( javascript )
Como funciona.
Primeiro, declare a guess
variável para armazenar o número de tentativas e yourNumber
a variável para armazenar o número de entrada:
int guess = 0, yourNumber;
Segundo, obtenha um número inteiro aleatório entre 1 e 10:
int secretNumber = (new Random()).Next(1, 10);
Linguagem de código: JavaScript ( javascript )
Este código cria uma nova instância da Random
classe e chama o Next()
método para gerar um número aleatório entre 1 e 10. Observe que você aprenderá mais sobre classes e métodos no tutorial posterior.
Terceiro, mostre a mensagem na tela:
Console.WriteLine("Pick a number between 1 and 10. You'll have 4 turns.");
Linguagem de código: JavaScript ( javascript )
Quarto, use a do while
instrução para obter o número de entrada do usuário.
O loop continuará se o número de tentativas for menor que 4 e o número de entrada for diferente do número secreto.
Dentro do do while
circuito:
1) Aumente o valor da guess
variável em um em cada iteração:
guess++;
2) Obtenha o número de entrada:
Console.Write($"Turn #{guess}. Your number:");
yourNumber = Convert.ToInt32(Console.ReadLine());
Linguagem de código: JavaScript ( javascript )
3) Verifique o número de entrada com o número secreto e dê uma dica se o número de entrada for menor ou maior. Além disso, imprima uma mensagem se o número de entrada for igual ao número secreto:
if (yourNumber < secretNumber)
{
Console.WriteLine($"Your guess: {yourNumber}, which is too low.");
}
else if (yourNumber > secretNumber)
{
Console.WriteLine($"Your guess: {yourNumber}, which is too high.");
}
else
{
Console.WriteLine($"Bingo! It took you {guess} turns to guess the secret number {secretNumber}.");
}
Linguagem de código: JavaScript ( javascript )
Por fim, imprima uma mensagem se o número de entrada não for igual ao número secreto:
if (yourNumber != secretNumber)
{
Console.WriteLine("Oops! you lost.");
}
Linguagem de código: JavaScript ( javascript )
O seguinte mostra um teste:
Pick a number between 1 and 10. You'll have 4 turns.
Turn #1. Your number:5
Your guess: 5, which is too low.
Turn #2. Your number:6
Your guess: 6, which is too low.
Turn #3. Your number:7
Your guess: 7, which is too low.
Turn #4. Your number:8
Bingo! It took you 4 turns to guess the secret number 8.
Resumo
- Use a
do while
instrução para executar um bloco de código repetidamente, desde que uma condição seja verdadeira.