Switch-Anweisung
Teil des Abschnitts Grundlagen der C#-Journey von Coddy. Lektion 27 von 70.
Die switch-Anweisung ähnelt einer mehrwegigen if-Anweisung. Statt eine einzelne Bedingung auszuwerten, vergleicht sie den Wert einer Variablen mit mehreren Fällen und führt den Code aus, der zum passenden Fall gehört.
Hier ist die grundlegende Struktur einer switch-Anweisung:
switch (variable) {
case value1:
// Code, der ausgeführt wird, wenn variable gleich value1 ist
break;
case value2:
// Code, der ausgeführt wird, wenn variable gleich value2 ist
break;
// ... weitere Fälle
default:
// Code, der ausgeführt wird, wenn kein case zutrifft
break;
}- Auf das Schlüsselwort
switchfolgt in Klammern die Variable, die du testen 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 dies weggelassen, ist das ein Kompilierungsfehler: Anders als in C oder Java lässt C# niemals zu, dass die Ausführung von einem Fall in den nächsten „durchfällt“. Nur leere Fallmarkierungen, die direkt aufeinanderfolgen, verwenden denselben Code, wie unten gezeigt.
- Der
default-Fall ist optional und wird ausgeführt, wenn kein anderer Fall zutrifft.
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 entgegennimmt (1 für Januar, 2 für Februar usw.) und die Jahreszeit ausgibt, zu der dieser Monat gehört. Verwende für die Logik eine switch-Anweisung.
Die Jahreszeiten und die zugehörigen 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