C# continuar

Resumo : neste tutorial, você aprenderá como usar a continueinstrução C# para iniciar uma nova iteração de um loop envolvente.

Introdução à instrução continue em C#

A continueinstrução ignora prematuramente a iteração do loop atual e inicia imediatamente uma nova. A continueinstrução só é válida se você usá-la dentro de um loop, incluindo while, do whilee forloops.

O seguinte mostra a sintaxe da continueinstrução:

continue;Linguagem de código:  C#  ( cs )

Normalmente, você usará a continueinstrução com a ifinstrução:

if (condition)
{
    continue;
}Linguagem de código:  C#  ( cs )

O seguinte mostra como usar a continueinstrução em um whileloop:

while (expression)
{
    if (condition)
    {
        continue;
    }
    // statements
}Linguagem de código:  C#  ( cs )

Nesta sintaxe, se a condição for true, a continueinstrução irá ignorar todas as instruções restantes abaixo.

O fluxograma a seguir ilustra como a continueinstrução funciona em um whileloop:

c# continuar enquanto loop

Da mesma forma, você pode usar a continuedeclaração em uma do whiledeclaração:

do
{
    if (condition)
    {
        continue;
    }

    // statements
} while (expression);Linguagem de código:  C#  ( cs )

O fluxograma a seguir ilustra como a continueinstrução funciona em um do whileloop:

c# continue faça enquanto

E forinstrução de loop:

for (initializer; loopCondition; iterator)
{
    if(condition)
    {
        continue;
    }
    // statements
}Linguagem de código:  C#  ( cs )

Se você usar a continueinstrução dentro de um loop aninhado, ela ignorará apenas a iteração atual do loop mais interno.

O fluxograma a seguir mostra como a continueinstrução funciona em um forloop:

c# continuar para loop

Exemplos de instruções continue em C#

Vejamos alguns exemplos de uso da continuedeclaração.

1) Usando a instrução C# continue em um loop for

O exemplo a seguir usa a continueinstrução em um forloop 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
9Linguagem de código:  C#  ( cs )

Como funciona.

O forloop 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 ifor 0, 2, 4, 6 ou 8:

i % 2 == 0Linguagem de código:  C#  ( cs )

As instruções ife continueignoram 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 Qou q, o loop será encerrado devido à breakinstruçã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 whileloop 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 breakinstruçã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 continueinstruçã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 continueinstrução para iniciar uma nova iteração prematuramente e pular imediatamente o código restante em um loop.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *