Willkommen zu unserem Blog-Beitrag über das Thema “C# Switch”. Wenn du gerade erst mit der Programmierung beginnst oder dich einfach nur über C# informieren möchtest, bist du hier genau richtig. In diesem Artikel werden wir einen einfachen Überblick über das Switch-Statement in C# geben.
Was ist ein C# Switch?
Das C# Switch-Statement ist eine Befehlsstruktur, die es dir ermöglicht, einen bestimmten Codeblock auszuwählen, basierend auf dem Wert einer Variablen. Mit anderen Worten, es dient dazu, mehrere Bedingungen zu überprüfen und dementsprechend unterschiedlichen Code auszuführen.
Wann sollte man das C# Switch-Statement verwenden?
Du kannst das Switch-Statement verwenden, wenn du mehrere Bedingungen überprüfen und unterschiedlichen Code ausführen möchtest. Es ist besonders nützlich, wenn die Bedingungen bereits bekannt sind und wenn man für jede Bedingung einen eindeutigen Codeblock ausführen möchte.
Wie funktioniert das C# Switch-Statement?
Das C# Switch-Statement verwendet eine Variablen-Wert, um die Ausführung des entsprechenden Codeblocks zu bestimmen. Hier ist ein Beispiel:
int number = 2;
switch (number)
{
case 1:
Console.WriteLine("Number is 1");
break;
case 2:
Console.WriteLine("Number is 2");
break;
case 3:
Console.WriteLine("Number is 3");
break;
default:
Console.WriteLine("Number is not 1, 2 or 3");
break;
}
Im obigen Beispiel wird der Wert der Variablen “number” überprüft. Wenn der Wert gleich 1 ist, wird der Codeblock “Case 1” ausgeführt. Ist der Wert gleich 2, wird der Codeblock “Case 2” ausgeführt. Wenn keiner der obigen Werte zutrifft, wird der Codeblock “Default” ausgeführt.
Schauen wir uns jetzt also diese drei Keywords (case, break und default) mal im Detail an:
Case, Break und Default
Jeder Fall innerhalb eines Switch-Statements wird mit dem Keyword case
definiert. Darauf folgt der Code, der ausgeführt werden soll, wenn der Fall (eng. Case) wahr wird.
Das Keyword break
beendet die Ausführung des Switch-Statements und verhindert, dass der Code in den nachfolgenden Cases ausgeführt wird. Wenn kein break
angegeben ist, wird der Code für alle nachfolgenden Cases ausgeführt, bis ein break
erreicht wird.
Das Keyword default
ist ein optionaler Abschnitt, der ausgeführt wird, wenn keiner der Werte in den Cases mit dem Wert im Switch-Ausdruck übereinstimmt. Du kannst nur einen default
Abschnitt in einem Switch-Statement verwenden.
int woche = 4;
switch (woche)
{
case 1:
Console.WriteLine("Montag");
break;
case 2:
Console.WriteLine("Dienstag");
break;
case 3:
Console.WriteLine("Mittwoch");
break;
case 4:
Console.WriteLine("Donnerstag");
break;
case 5:
Console.WriteLine("Freitag");
break;
default:
Console.WriteLine("Wochenende");
break;
}
In diesem Beispiel wird der Wert der Variablen woche
auf 4 überprüft. Da dies mit dem Wert im case
4 übereinstimmt, wird der Codeblock Console.WriteLine("Donnerstag");
ausgeführt. Das break
beendet die Ausführung des Switch-Statements. Wenn kein Übereinstimmung gefunden wurde, würde der Code im default
Abschnitt ausgeführt werden.
Einschränkungen des C# Switch-Statements
1. Es kann nur mit einer begrenzten Anzahl von Typen verwendet werden: sbyte
, byte
, short
, ushort
, int
, uint
, long
, ulong
, char
, string
und enum
.
2. Die Werte in den Cases müssen eindeutig sein. Du kannst keine überlappenden Werte in den Cases verwenden.
3. Du musst für jeden Case ein break
angeben, um sicherzustellen, dass die Ausführung nach dem entsprechenden Codeblock beendet wird. Wenn du das nicht tust, wird der Code für alle nachfolgenden Cases ausgeführt, bis ein break
erreicht wird.
Wann sollte man das C# Switch-Statement nicht verwenden?
Du solltest das Switch-Statement nicht verwenden, wenn die Bedingungen komplex sind und eine lange Liste an Cases erfordern. In diesem Fall ist es besser, eine if-else-Struktur zu verwenden.
Zusammenfassung
Das C# Switch-Statement ist eine nützliche Befehlsstruktur, die es dir ermöglicht, mehrere Bedingungen zu überprüfen und dementsprechend unterschiedlichen Code auszuführen.
Beachte, dass es nur mit begrenzten Typen verwendet werden kann und dass die Werte in den Cases eindeutig sein müssen. Verwende es, wenn du mehrere einfache Bedingungen überprüfen möchtest, aber verwende eine if-else-Struktur, wenn die Bedingungen komplex sind.
Hier kannst du noch mehr über den C# Switch erfahren.