break (Referência de C#)break (C# Reference)

A instrução break termina o loop delimitador mais próximo ou a instrução switch na qual ele aparece.The break statement terminates the closest enclosing loop or switch statement in which it appears. Controle é passado para a instrução que segue a instrução encerrada, se houver.Control is passed to the statement that follows the terminated statement, if any.

ExemploExample

Neste exemplo, a instrução condicional tem um contador que deveria contar de 1 a 100. No entanto, a instrução break encerra o loop após 4 contagens.In this example, the conditional statement contains a counter that is supposed to count from 1 to 100; however, the break statement terminates the loop after 4 counts.

class BreakTest
{
    static void Main()
    {
        for (int i = 1; i <= 100; i++)
        {
            if (i == 5)
            {
                break;
            }
            Console.WriteLine(i);
        }

        // Keep the console open in debug mode.
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}
/*
 Output:
    1
    2
    3
    4
*/

ExemploExample

Este exemplo demonstra o uso de break em uma instrução switch.This example demonstrates the use of break in a switch statement.

class Switch
{
    static void Main()
    {
        Console.Write("Enter your selection (1, 2, or 3): ");
        string s = Console.ReadLine();
        int n = Int32.Parse(s);

        switch (n)
        {
            case 1:
                Console.WriteLine("Current value is 1");
                break;
            case 2:
                Console.WriteLine("Current value is 2");
                break;
            case 3:
                Console.WriteLine("Current value is 3");
                break;
            default:
                Console.WriteLine("Sorry, invalid selection.");
                break;
        }

        // Keep the console open in debug mode.
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}
/*
Sample Input: 1

Sample Output:
Enter your selection (1, 2, or 3): 1
Current value is 1
*/

Se você digitou 4, a saída seria:If you entered 4, the output would be:

Enter your selection (1, 2, or 3): 4
Sorry, invalid selection.

ExemploExample

Neste exemplo, a instrução break é usada para interromper um loop aninhado interno e retornar o controle para o loop externo.In this example, the break statement is used to break out of an inner nested loop, and return control to the outer loop. O controle é devolvido um nível acima nos loops aninhados.Control is only returned one level up in the nested loops.

class BreakInNestedLoops
{
    static void Main(string[] args)
    {

        int[] numbers = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        char[] letters = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' };

        // Outer loop.
        for (int i = 0; i < numbers.Length; i++)
        {
            Console.WriteLine($"num = {numbers[i]}");

            // Inner loop.
            for (int j = 0; j < letters.Length; j++)
            {
                if (j == i)
                {
                    // Return control to outer loop.
                    break;
                }
                Console.Write($" {letters[j]} ");
            }
            Console.WriteLine();
        }

        // Keep the console open in debug mode.
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}

/*
 * Output:
    num = 0

    num = 1
     a
    num = 2
     a  b
    num = 3
     a  b  c
    num = 4
     a  b  c  d
    num = 5
     a  b  c  d  e
    num = 6
     a  b  c  d  e  f
    num = 7
     a  b  c  d  e  f  g
    num = 8
     a  b  c  d  e  f  g  h
    num = 9
     a  b  c  d  e  f  g  h  i
 */

ExemploExample

Neste exemplo, break a declaração só é usada para sair do ramo atual durante cada iteração do loop.In this example, the break statement is only used to break out of the current branch during each iteration of the loop. O loop em si não break é afetado pelas instâncias que pertencem à declaração de switch aninhada.The loop itself is unaffected by the instances of break that belong to the nested switch statement.

class BreakFromSwitchInsideLoop
{
    static void Main(string[] args)
    {
        // loop 1 to 3
        for (int i = 1; i <= 3; i++)
        {
            switch(i)
            {
                case 1:
                    Console.WriteLine("Current value is 1");
                    break;
                case 2:
                    Console.WriteLine("Current value is 2");
                    break;
                case 3:
                    Console.WriteLine("Current value is 3");
                    break;
                default:
                    Console.WriteLine("This shouldn't happen.");
                    break;
            }
        }

        // Keep the console open in debug mode.
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
}

/*
 * Output:
    Current value is 1
    Current value is 2
    Current value is 3
 */

especificação da linguagem C#C# language specification

Para obter mais informações, consulte a especificação da linguagem C#.For more information, see the C# Language Specification. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso de C#.The language specification is the definitive source for C# syntax and usage.

Confira tambémSee also