TOC

This article has been localized into German by the community.

Control Structures:

Die Switch-Anweisung

Eine Switch-Anweisung kann man sich wie eine Reihe von If-Anweisungen vorstellen. Sie ist eine Liste verschiedener Fälle, welche zudem jeweils auch eine Aktion beinhalten. Die Switch-Anweisung beinhaltet auch eine optionale Standardaktion (Default Action) welche einsetzt, wenn keine der anderen Fälle mit true bewertet wurde. Ein einfaches Beispiel einer Switch-Anweisung könnte folgendermaßen aussehen:

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

Der zu prüfende Identifikator wird hinter das switch-Schlüsselwort geschrieben, gefolgt von der Liste an case-Anweisungen, in der wir den Identifikator gegen einen vorgegebenen Wert prüfen. Dir wird auffallen, dass wir am Ende von jedem case eine break-Anweisung haben. Das liegt daran, dass C# verlangt, dass wir den Block vor seinem Ende verlassen.

In diesem Beispiel nutzen wir einen Integer, aber es könnte genauso gut ein String sein, oder jeder andere Datentyp. Außerdem kannst du die selbe Aktion für mehrere cases spezifizieren. Wir werden das gleich im nächsten Beispiel machen, in dem wir einen Input vom Nutzer nehmen und in unserem switch-Befehl verwenden.

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;
}

In diesem Beispiel fragen wir den Nutzer eine Frage und schlagen vor, dass er entweder Ja, Nein oder Vielleicht eingibt und erzeugen die entsprechende switch-Anweisung dafür. Um dem Nutzer zu helfen, konvertieren wir den Input zunächst in Kleinbuchstaben, bevor wir ihn mit unseren Kleinbuchstaben-Strings vergleichen, damit kein Unterschied zwischen Klein- und Großbuchstaben vorliegt.

Trotzdem, vielleicht vertippt sich der Nutzer ja, oder tippt etwas komplett anderes ein, in welchem Fall kein Output von dieser switch-Anweisung erzeugt würde. Bühne frei für das default-Schlüsselwort!

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;
}

Falls keine der case-Anweisungen ein true ergibt, wird, wenn überhaupt, die default-Anweisung ausgeführt. Wie wir im vorherigen Beispiel gesehen haben, ist sie optional.

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!