Break (C# odwołanie)break (C# Reference)

Instrukcja break kończy najbliższą otaczającą pętlę lub instrukcję Switch , w której występuje.The break statement terminates the closest enclosing loop or switch statement in which it appears. Kontrolka jest przenoszona do instrukcji, która następuje po instrukcji zakończony (jeśli istnieje).Control is passed to the statement that follows the terminated statement, if any.

PrzykładExample

W tym przykładzie Instrukcja warunkowa zawiera licznik, który powinien być liczony od 1 do 100; Jednakże instrukcja break przerywa pętlę po 4 zliczenia.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  
*/

PrzykładExample

W tym przykładzie pokazano sposób użycia break w instrukcji 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
*/

W przypadku wprowadzenia 4 dane wyjściowe byłyby następujące:If you entered 4, the output would be:

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

PrzykładExample

W tym przykładzie instrukcja break jest używana do przerywania wewnętrznej pętli zagnieżdżonej i zwracania kontroli do pętli zewnętrznej.In this example, the break statement is used to break out of an inner nested loop, and return control to the outer loop. Formant jest zwracany tylko jeden poziom w pętli zagnieżdżonych.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
 */

PrzykładExample

W tym przykładzie instrukcja break jest używana tylko do rozbicia z bieżącej gałęzi podczas każdej iteracji pętli.In this example, the break statement is only used to break out of the current branch during each iteration of the loop. Wystąpienia break nie wpływają na samą pętlę, która należy do zagnieżdżonej instrukcji Switch .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
 */

C#Specyfikacja językaC# language specification

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#.For more information, see the C# Language Specification. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.The language specification is the definitive source for C# syntax and usage.

Zobacz takżeSee also