Programowanie w języku C#

Switch

  • 2010-10-31 18:27
  • 2 komentarze
  • 15607 odsłon
  • Oceń ten tekst jako pierwszy
switch - słowo kluczowe języka C#

Instrukcja switch służy do porównywania zmiennej z wieloma wartościami jednocześnie.

switch (zmienna)
{
    case 1:
        Console.WriteLine("jeden");
    break;
 
    case 2:
        Console.WriteLine("dwa");
    break;
 
    case 3:
        Console.WriteLine("trzy");
    break;
 
    default:
        Console.WriteLine("Domyślna akcja - inny numer");
    break;       
}


Aby uniknąć pewnych błędów, składnia switch wymaga aby każdy blok case był zakończony instrukcją break, return lub goto case [etykieta]



C# umożliwia też podawanie jako argument zmiennej łańcuchowej.

public void info (string Acr)
{
    switch (Acr)
    {
        case "brb":
            Console.WriteLine("Be Right Back");
        break;
 
        case "afk":
            Console.WriteLine("Away From Keyboard");
        break;
 
        case "afaik":
            Console.WriteLine("As Far As I Know");
        break; 
 
        case "imho":
            Console.WriteLine("In My Humble Opinion");
        break; 
 
        default:
            Console.WriteLine("{0}? Nie znam.", Acr);
        break;       
    }
}


Zobacz też:

2 komentarze

Olamagato 2011-10-24 20:25

Trochę bezsensowna decyzja projektowa z tym obowiązkowym kończeniem case. Szczególnie jeżeli ma ona być usprawiedliwieniem pozostawienia goto, które wymusza powtórzenia case. Zrobienie kaskady warunków jest wyjątkowo nienaturalne, rozwlekłe i wymaga goto. To nie tylko gorzej niż w Javie, ale nawet gorzej niż w C++.

Marooned 2006-01-27 01:51

Dodałbym informację o możliwości kilku case dla jednego wyboru:

case 2:
case 4:
case 6:
    Console.WriteLine("parzysta");
    break;