Resumo : neste tutorial, você aprenderá como usar a continue
instrução C# para iniciar uma nova iteração de um loop envolvente.
Introdução à instrução continue em C#
A continue
instrução ignora prematuramente a iteração do loop atual e inicia imediatamente uma nova. A continue
instrução só é válida se você usá-la dentro de um loop, incluindo while
, do while
e for
loops.
O seguinte mostra a sintaxe da continue
instrução:
continue;
Linguagem de código: C# ( cs )
Normalmente, você usará a continue
instrução com a if
instrução:
if (condition)
{
continue;
}
Linguagem de código: C# ( cs )
O seguinte mostra como usar a continue
instrução em um while
loop:
while (expression)
{
if (condition)
{
continue;
}
// statements
}
Linguagem de código: C# ( cs )
Nesta sintaxe, se a condição for true
, a continue
instrução irá ignorar todas as instruções restantes abaixo.
O fluxograma a seguir ilustra como a continue
instrução funciona em um while
loop:
Da mesma forma, você pode usar a continue
declaração em uma do while
declaração:
do
{
if (condition)
{
continue;
}
// statements
} while (expression);
Linguagem de código: C# ( cs )
O fluxograma a seguir ilustra como a continue
instrução funciona em um do while
loop:
E for
instrução de loop:
for (initializer; loopCondition; iterator)
{
if(condition)
{
continue;
}
// statements
}
Linguagem de código: C# ( cs )
Se você usar a continue
instrução dentro de um loop aninhado, ela ignorará apenas a iteração atual do loop mais interno.
O fluxograma a seguir mostra como a continue
instrução funciona em um for
loop:
Exemplos de instruções continue em C#
Vejamos alguns exemplos de uso da continue
declaração.
1) Usando a instrução C# continue em um loop for
O exemplo a seguir usa a continue
instrução em um for
loop para imprimir apenas os números ímpares:
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
{
continue;
}
Console.WriteLine($"{i}");
}
Linguagem de código: C# ( cs )
Saída:
1
3
5
7
9
Linguagem de código: C# ( cs )
Como funciona.
O for
loop começa de 0 a 9.
Para verificar se um número é par, compare o resto desse número depois de dividi-lo por dois. Se o resto for zero, o número é par. Caso contrário, é um número ímpar.
A seguinte expressão é verdadeira se i
for 0, 2, 4, 6 ou 8:
i % 2 == 0
Linguagem de código: C# ( cs )
As instruções if
e continue
ignoram a instrução que gera o número par:
if (i % 2 == 0)
{
continue;
}
Linguagem de código: C# ( cs )
Portanto, você vê apenas os números ímpares na saída.
2) Usando a instrução continue em um exemplo de loop while
O exemplo a seguir solicita que você insira um número positivo e calcule sua raiz quadrada usando o Math.Sqrt()
método.
Se você inserir um número negativo, o programa emitirá uma mensagem de validação e solicitará que você insira um número positivo. Caso contrário, ele calculará a raiz quadrada do número inserido e a enviará para o console.
Se você inserir a letra Q
ou q
, o loop será encerrado devido à break
instrução.
while (true)
{
Console.Write("Enter a positive number to calculate the square root (Q or q to exit):");
string input = Console.ReadLine();
// exit the loop if the input string is Q or q
if (input == "Q" || input == "q")
{
break;
}
// convert the input string to a double
double number = Convert.ToDouble(input);
// start the new iteration if the number is negative
if(number < 0)
{
Console.WriteLine("Please enter a positive number.");
continue;
}
Console.WriteLine($"The square root of {Math.Sqrt(number): 0.##}");
}
Linguagem de código: C# ( cs )
Neste exemplo, usamos um while
loop com a condição sempre true
.
Veja como funciona dentro do loop:
Primeiro, peça aos usuários que insiram um número positivo ou a letra q ou Q para sair:
Console.Write("Enter a positive number to calculate the square root (Q or q to exit):");
string input = Console.ReadLine();
Linguagem de código: C# ( cs )
Em seguida, encerre o loop se a string de entrada for Q ou q usando a break
instrução:
if (input == "Q" || input == "q")
{
break;
}
Linguagem de código: C# ( cs )
Em seguida, converta a string de entrada em um número:
double number = Convert.ToDouble(input);
Linguagem de código: C# ( cs )
Depois disso, inicie uma nova iteração usando a continue
instrução se o número for negativo:
if (number < 0)
{
Console.WriteLine("Please enter a positive number.");
continue;
}
Linguagem de código: C# ( cs )
Por fim, calcule a raiz quadrada do número se for zero ou positivo:
Console.WriteLine($"The square root of {Math.Sqrt(number): 0.##}");
Linguagem de código: C# ( cs )
Resumo
- Use a
continue
instrução para iniciar uma nova iteração prematuramente e pular imediatamente o código restante em um loop.