break (Referenční dokumentace jazyka C#)
breakPříkaz ukončí nejbližší ohraničující smyčku nebo switch příkaz , ve kterém se zobrazí. Ovládací prvek je předán příkazu, který následuje ukončený příkaz, pokud existuje.
Příklad 1
V tomto příkladu podmíněný příkaz obsahuje čítač, který by měl počítat od 1 do 100; break příkaz však ukončí smyčku po 4 počtech.
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
*/
Příklad 2
Tento příklad ukazuje použití break v switch příkazu.
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
*/
Pokud jste zadali 4 , bude výstup:
Enter your selection (1, 2, or 3): 4
Sorry, invalid selection.
Příklad 3
V tomto příkladu break je příkaz použit k přerušení vnitřní vnořené smyčky a vrátí řízení vnější smyčce. Řízení je vráceno pouze ve vnořených smyčkách o jednu úroveň výš.
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
*/
Příklad 4
V tomto příkladu break je příkaz použit pouze k přerušení aktuální větve během každé iterace smyčky. Samotný cyklus není ovlivněn instancemi break , které patří do vnořeného switch příkazu.
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
*/
specifikace jazyka C#
Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.