Switch-Anweisung
Teil des Abschnitts Grundlagen der C#-Journey von Coddy. Lektion 27 von 69.
Die switch-Anweisung ähnelt einer mehrstufigen if-Anweisung. Anstatt eine einzelne Bedingung auszuwerten, prüft sie den Wert einer Variablen anhand mehrerer Fälle und führt den Code aus, der dem passenden Fall zugeordnet ist.
Hier ist die grundlegende Struktur einer switch-Anweisung:
switch (variable) {
case value1:
// Auszuführender Code, wenn variable gleich value1 ist
break;
case value2:
// Auszuführender Code, wenn variable gleich value2 ist
break;
// ... weitere Fälle
default:
// Auszuführender Code, wenn kein case zutrifft
break;
}- Auf das Schlüsselwort
switchfolgt in Klammern die Variable, die du überprüfen möchtest. - Jeder
casesteht für einen möglichen Wert der Variable. - Der Code innerhalb jedes
casewird ausgeführt, wenn die Variable mit dem Wert dieses Falls übereinstimmt.
- Jeder nicht leere
case-Zweig muss mitbreak(oderreturn) enden, wodurch dieswitch-Anweisung verlassen wird. Wird es weggelassen, ist das ein Kompilierungsfehler: Anders als C oder Java lässt C# die Ausführung niemals von einem Case-Zweig zum nächsten „durchfallen“. Nur leere, übereinandergestapelte Case-Labels verwenden denselben Code, wie unten gezeigt.
- Der
default-Fall ist optional und wird ausgeführt, wenn kein anderer Fall übereinstimmt.
Hier ist ein Beispiel:
int day = 3;
string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... Fälle für andere Tage
default:
dayName = "Invalid day";
break;
}Du kannst auch mehrere Fälle zu einem zusammenfassen:
int day = 3;
string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... Fälle für andere Tage
default:
dayName = "Invalid day";
break;
}Aufgabe
AnfängerErstelle ein Programm, das eine Monatsnummer (1 für Januar, 2 für Februar usw.) entgegennimmt und die Jahreszeit ausgibt, zu der der Monat gehört. Verwende für die Logik eine switch-Anweisung.
Die Jahreszeiten und die entsprechenden Monate sind:
Winter: Dezember (12), Januar (1), Februar (2)Spring: März (3), April (4), Mai (5)Summer: Juni (6), Juli (7), August (8)Autumn: September (9), Oktober (10), November (11)
Gib den Namen der Jahreszeit genau wie oben auf Englisch aus.
Probier es selbst
using System;
public class Program {
public static void Main(string[] args) {
int month = int.Parse(Console.ReadLine());
string season = "";
// Schreibe deinen Code unten
Console.WriteLine(season);
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorInkrement/DekrementPost-Inkrement/DekrementArithmetische Kurzschreibweisen7Grundlagen IO
Einfache AusgabeString-InterpolationEingabe lesenParsenWiederholung - Bis 120Wiederholung - True or False5Operatoren Teil 2
VergleichsoperatorenLogische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Übe selbstständig: Online-C#-Compiler