Quebra de C#

Resumo : neste tutorial, você aprenderá como usar a instrução break C# para encerrar prematuramente um loop incluindo loops while, do whilee for.

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

A breakinstrução the permite encerrar um loop prematuramente, incluindo while, do whilee forloop.

Aqui está a sintaxe da breakinstrução:

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

C# só permite que você use a breakinstrução dentro de um loop (ou switchinstrução). Este tutorial se concentra em como usar a breakinstrução dentro de um loop.

Na prática, você usará a breakinstrução para encerrar prematuramente um loop com base em uma condição. Normalmente, a condição é independente da condição do loop. Então você usará a breakdeclaração com uma ifdeclaração como esta:

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

Observe que antes e/ou depois do ifbloco, você pode ter uma ou mais instruções. O fluxograma a seguir ilustra como a breakinstrução funciona dentro de um loop:

Da mesma forma, você pode usar a breakinstrução dentro de um do whileloop como este:

do
{
    if (condition)
    {
        break;
    }
} while (expression);Linguagem de código:  C#  ( cs )

E o fluxograma a seguir mostra como a instrução break funciona dentro de um do whileloop:

e forloop:

for (initializer; condition; iterator)
{
    if (condition)
    {
        break;
    }
}Linguagem de código:  C#  ( cs )

O fluxograma a seguir ilustra como a instrução break funciona no forloop:

c# quebra em um loop for

Se você tiver um loop aninhado, a breakinstrução encerrará apenas o loop envolvente, não os loops interno e externo. E você verá como funciona nos exemplos abaixo.

Exemplos de instruções de interrupção em C#

Vejamos alguns exemplos de uso da breakinstrução C#.

1) Usando a instrução break C# dentro de exemplos de loop for

O exemplo a seguir mostra como usar a breakinstrução dentro de um forloop:

string greeting = "Good Morning!";

for (int i = 0; i < greeting.Length; i++)
{
    if (greeting[i] == ' ')
    {
        break;
    }
    Console.Write(greeting[i]);
}Linguagem de código:  C#  ( cs )

Saída:

GoodLinguagem de código:  C#  ( cs )

Neste exemplo, o forloop itera sobre os caracteres da string "Good Morning!". As instruções ife breakencerram o loop se o caractere atual for o espaço ( ' ').

Portanto, a saída mostra apenas os caracteres de Gto dna string "Good Morning!".

2) Usando a instrução break em C# para imprimir uma meia pirâmide

O exemplo a seguir ilustra como usar a breakinstrução dentro de um loop aninhado:

for (int i = 0; i < 5; i++)
{
    for (int j = 0; j < 5; j++)
    {
        // exit the inner loop only
        if(j > i)
        {
            break;
        }

        // print numbers each row
        Console.Write($"{j} ");
    }
    Console.WriteLine();
}Linguagem de código:  C#  ( cs )

Saída:

0
0 1
0 1 2
0 1 2 3
0 1 2 3 4Linguagem de código:  C#  ( cs )

Neste exemplo:

  • O loop externo determina os níveis da pirâmide de 0 a 5.
  • O loop interno imprime os números se eles forem menores que o nível atual. Como o loop interno usa a breakinstrução, ele terminará quando o número for maior que o nível atual ( j > i).

3) Usando a instrução break C# dentro de um loop while

O exemplo a seguir calcula o total de números inteiros de entrada. Ele usa a breakinstrução para encerrar o loop se você inserir “Q” ou “q”:

string input;
int total = 0;

Console.WriteLine("Enter integers to calculate total(q or Q to quit):");

while (true)
{
    input = Console.ReadLine();

    if(input == "Q" || input == "q")
    {
        break;
    }

    total += Convert.ToInt32 (input);
}

Console.WriteLine(total);Linguagem de código:  C#  ( cs )

Como funciona.

Primeiro, crie um whileloop com condição que seja sempre true:

while (true)
{
   //...
}Linguagem de código:  C#  ( cs )

Segundo, obtenha a entrada do usuário e atribua-a à inputvariável:

input = Console.ReadLine();Linguagem de código:  C#  ( cs )

Terceiro, encerre o loop se a string de entrada for "Q"ou "q":

if (input == "Q" || input == "q")
{
    break;
}Linguagem de código:  C#  ( cs )

Finalmente, adicione o número de entrada à totalvariável:

total += Convert.ToInt32(input);Linguagem de código:  C#  ( cs )

Aqui está um exemplo de saída:

Enter integers to calculate total(q or Q to quit):
1
2
3
q
The total is 6Linguagem de código:  C#  ( cs )

4) Usando a instrução break C# dentro de um loop do while

O exemplo a seguir ilustra como usar a instrução break dentro do whileda instrução:

double total   = 0,
       average = 0;

int count = 0;

Console.WriteLine("Enter integers to calculate average (q or Q to quit):");

do
{
    string input = Console.ReadLine();

    if (input == "Q" || input == "q")
    {
        break;
    }

    total += Convert.ToInt32(input);
    count++;

} while (true);

if (count > 0)
{
    average  = total / count;
}

Console.WriteLine($"The average is {average}");Linguagem de código:  C#  ( cs )

Como funciona.

Primeiro, declare variáveis ​​para armazenar o total, a média e a string de entrada:

double total   = 0,
       average = 0;
int count = 0;
Linguagem de código:  C#  ( cs )

Segundo, crie um do whileloop com a condição que é sempre true:

do
{
    //...

} while (true);Linguagem de código:  C#  ( cs )

Terceiro, solicite a inserção de um número:

string input = Console.ReadLine();Linguagem de código:  C#  ( cs )

Quarto, saia do loop se a entrada for “q” ou “Q”:

if (input == "Q" || input == "q")
{
    break;
}Linguagem de código:  C#  ( cs )

Quinto, adicione o número de entrada ao total e aumente a countvariável:

total += Convert.ToInt32(input);
count++;Linguagem de código:  C#  ( cs )

Finalmente, calcule a média após o término do loop:

if (count > 0)
{
    average = total / count;
}Linguagem de código:  C#  ( cs )

O seguinte mostra uma execução de teste:

Enter integers to calculate the average (q or Q to quit):
10
20
30
q
The average is 20Linguagem de código:  C#  ( cs )

Resumo

  • Use a breakinstrução para encerrar prematuramente um loop incluindo while, do whilee for.
  • A breakinstrução apenas encerra o loop de encerramento quando usada em um loop aninhado.

Deixe um comentário

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