Resumo : neste tutorial, você aprenderá como usar a instrução break C# para encerrar prematuramente um loop incluindo loops while
, do while
e for
.
Introdução à instrução break em C#
A break
instrução the permite encerrar um loop prematuramente, incluindo while
, do while
e for
loop.
Aqui está a sintaxe da break
instrução:
break;
Linguagem de código: C# ( cs )
C# só permite que você use a break
instrução dentro de um loop (ou switch
instrução). Este tutorial se concentra em como usar a break
instrução dentro de um loop.
Na prática, você usará a break
instruçã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 break
declaração com uma if
declaração como esta:
while (expression)
{
if (condition)
{
break;
}
}
Linguagem de código: C# ( cs )
Observe que antes e/ou depois do if
bloco, você pode ter uma ou mais instruções. O fluxograma a seguir ilustra como a break
instrução funciona dentro de um loop:
Da mesma forma, você pode usar a break
instrução dentro de um do while
loop 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 while
loop:
e for
loop:
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 for
loop:
Se você tiver um loop aninhado, a break
instruçã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 break
instrução C#.
1) Usando a instrução break C# dentro de exemplos de loop for
O exemplo a seguir mostra como usar a break
instrução dentro de um for
loop:
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:
Good
Linguagem de código: C# ( cs )
Neste exemplo, o for
loop itera sobre os caracteres da string "Good Morning!"
. As instruções if
e break
encerram o loop se o caractere atual for o espaço ( ' '
).
Portanto, a saída mostra apenas os caracteres de G
to d
na 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 break
instruçã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 4
Linguagem 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
break
instruçã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 break
instruçã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 while
loop 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 à input
variá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 à total
variá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 6
Linguagem 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 while
da 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 while
loop 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 count
variá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 20
Linguagem de código: C# ( cs )
Resumo
- Use a
break
instrução para encerrar prematuramente um loop incluindowhile
,do while
efor
. - A
break
instrução apenas encerra o loop de encerramento quando usada em um loop aninhado.