TOC

This article has been localized into Polish by the community.

Struktury kontrolne:

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


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!