TOC

This article has been localized into Czech by the community.

Řídicí struktury:

Příkaz switch

Příkaz switch je jako množina příkazů if. Je to seznam možností, s akcí pro každou možnost a volitelnou výchozí akcí v případě, že nic jiného nehodnotí hodnotu true. Jednoduchý příkaz přepínače vypadá takto:

int number = 1;
switch(number)
{
    case 0:
Console.WriteLine("The number is zero!");
break;
    case 1:
Console.WriteLine("The number is one!");
break;
}

Identifikátor, který se má ověřit, se umisťuje za klíčové slovo switch, a poté následuje seznam případů case, ve kterých porovnáváme identifikátor s danou hodnotou. Všimnete si, že na konci každého případu case máme příkaz break. C# jednoduše vyžaduje, abychom z bloku před jeho koncem odešli. V případě, že byste psali funkci, místo příkazu break byste mohli použít příkaz return.

V tomto případě používáme celé číslo, ale mohl by to být také řetězec nebo jakýkoli jiný jednoduchý typ. Také můžete pro více případů specifikovat stejnou akci. To uděláme také v příštím příkladu, kde vezmeme uživatelem zadaný vstup a použijeme ho v našem příkazu switch:

Console.WriteLine("Do you enjoy C# ? (yes/no/maybe)");
string input = Console.ReadLine();
switch(input.ToLower())
{
    case "yes":
    case "maybe":
Console.WriteLine("Great!");
break;
    case "no":
Console.WriteLine("Too bad!");
break;
}

V tomto příkladu požádáme uživatele o otázku a navrhneme, aby zadali buď ano, ne nebo možná. Poté si přečteme uživatelský vstup a vytvoříme pro něj příkaz switch. Abychom uživateli pomohli, převedeme vstup na malá písmena, než je zkontrolujeme na našich malých řetězcích, takže není rozdíl mezi malými a velkými písmeny.

Přesto může uživatel provést překlep nebo zkusit napsat něco úplně jiného a v tomto případě nebude tímto specifickým příkazem přepínače generován žádný výstup. Zadejte výchozí klíčové slovo!

Console.WriteLine("Do you enjoy C# ? (yes/no/maybe)");
string input = Console.ReadLine();
switch(input.ToLower())
{
    case "yes":
    case "maybe":
Console.WriteLine("Great!");
break;
    case "no":
Console.WriteLine("Too bad!");
break;
    default:
Console.WriteLine("I'm sorry, I don't understand that!");
break;
}

Není-li žádný z případových příkazů (case) vyhodnocen jako true, bude proveden výchozí (default) příkaz, pokud existuje. Je volitelný, jak jsme viděli v předchozích příkladech.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!