This article has been localized into Polish by the community.
Instrukcja switch
Instrukcja Switch jest jak zbiór instrukcji if. Jest to lista możliwości zawierających instrukcję dla każdej z nich oraz akcję domyślną, jeżeli żadna z deklaracji nie spełnia warunku. Prosta instrukcja Switch wygląda następująco:
int number = 1;
switch(number)
{
case 0:
Console.WriteLine("The number is zero!");
break;
case 1:
Console.WriteLine("The number is one!");
break;
}
Warunek do sprawdzenia jest umieszczony po słowie kluczowym switch, po którym następuje lista przypadków do porównania z podaną wartością. Zauważ, że na końcu każdego przypadku case występuje słowo kluczowe break. C# wymaga opuszczenia bloku na końcu operacji. Jeżeli piszesz metodę, możesz użyć słowa kluczowego return zamiast break.
W tym przypadku używamy typu całkowitego (integer), ale moglibyśmy użyć ciągu string, albo każdego innego prostego typu danych. Możesz zadeklarować taką samą funkcję dla wielu przypadków case. Zrobimy to w kolejnym przykładzie, gdzie pobierzemy od użytkownika dane których użyjemy w instrukcji 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;
}
W tym przykładzie, zadajemy użytkownikowi pytanie, i prosimy aby udzielił odpowiedzi tak, nie lub może. Odczytujemy wtedy odpowiedź użytkownika oraz na jej podstawie tworzymy instrukcję switch. Aby pomóc użytkownikowi, konwertujemy wprowadzone dane na małe litery a następnie sprawdzamy ją z naszym warunkiem zapisanym małymi literami unikając różnicy pomiędzy małymi a dużymi literami.
Użytkownik może popełnić literówkę lub napisać coś zupełnie innego, w takim przypadku, żaden wynik nie będzie wygenerowany przez ten konkretny przypadek case. Wprowadź słowo kluczowe default!
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;
}
Jeżeli żaden z przypadków nie spełni warunku, wtedy zostanie uruchomiona deklaracja default. Jest ona opcjonalna, jak widzieliśmy w poprzednich przykładach