Verschachtelte Switch-Anweisungen
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 11 von 66.
Verschachtelte switch-Anweisungen ermöglichen es dir, eine switch-Anweisung innerhalb einer anderen zu platzieren, um komplexere Entscheidungen zu treffen.
Erstelle eine einfache verschachtelte switch-Anweisung:
string department = "Sales";
string level = "Senior";
switch (department)
{
case "Sales":
switch (level)
{
case "Junior":
Console.WriteLine("Sales Junior");
break;
case "Senior":
Console.WriteLine("Sales Senior");
break;
}
break;
case "IT":
switch (level)
{
case "Junior":
Console.WriteLine("IT Junior");
break;
case "Senior":
Console.WriteLine("IT Senior");
break;
}
break;
}Beende jeden Case-Zweig immer mit einer break-Anweisung, sowohl im inneren als auch im äußeren switch. C# lässt einen Case-Zweig nicht in den nächsten übergehen, daher führt ein fehlendes break zu einem Kompilierungsfehler.
Denke daran, deinen Code durch korrekte Einrückungen gut lesbar zu halten.
Aufgabe
MittelErstelle eine Methode namens calculatePrice, die:
- drei Parameter entgegennimmt:
- productType (string): entweder "Electronics", "Clothing" oder "Food"
- productTier (string): entweder "Basic", "Premium" oder "Luxury"
- basePrice (int): den Ausgangspreis des Produkts
- den Endpreis (int) zurückgibt, nachdem diese Regeln angewendet wurden:
- Für "Electronics":
- Basic: 50 $ zum Ausgangspreis hinzufügen
- Premium: 100 $ zum Ausgangspreis hinzufügen
- Luxury: 250 $ zum Ausgangspreis hinzufügen
- Für "Clothing":
- Basic: 10 $ zum Ausgangspreis hinzufügen
- Premium: 50 $ zum Ausgangspreis hinzufügen
- Luxury: 100 $ zum Ausgangspreis hinzufügen
- Für "Food":
- Basic: den Ausgangspreis nicht ändern
- Premium: 15 $ zum Ausgangspreis hinzufügen
- Luxury: 30 $ zum Ausgangspreis hinzufügen
- Bei jedem anderen Produkttyp oder jeder anderen Produktstufe den Ausgangspreis unverändert zurückgeben
- Für "Electronics":
Probier es selbst
public class CalculatePrice
{
// Implementiere die Methode calculatePrice
public static int calculatePrice(string productType, string productTier, int basePrice)
{
// Schreibe deinen Code hier
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen 2D-Arrays2D-Arrays deklarieren und initialisierenAuf Elemente von 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysGezackte ArraysHäufige MatrixoperationenZusammenfassung – Mehrdimensionale Arrays4Techniken zur Ablaufsteuerung
Frühe RückgabenWächterklauselnSprunganweisungen (goto)Break und ContinueVerschachtelte Bedingungen abflachen7Logische Operatoren – Fortgeschritten
KurzschlussauswertungBedingte logische OperatorenOperatorrangfolgeRückblick – Erweiterte Operatoren2Fortgeschrittene Entscheidungslogik
Mehrere BedingungenKomplexe boolesche LogikVergleich: If vs. SwitchVerschachtelte Switch-AnweisungenRückblick – Fortgeschrittene Entscheidungen5Fehlerbehandlung mit Exceptions
Grundlagen von Try-CatchException-TypenMehrere Catch-BlöckeArbeiten mit DateienFinally-BlockUsing im Vergleich zu Try-FinallyBenutzerdefinierte ExceptionsZusammenfassung – Fehlerbehandlung3Schleifenverbesserungen
SchleifenleistungKomplexe IterationJeder SchleifentypSchleifen refaktorierenRückblick – Optimierte Schleifen6Behandlung von Nullwerten
Grundlagen von NullreferenzenNullable WerttypenMuster zur NullprüfungDefensive ProgrammierungZusammenfassung – NullsicherheitÜbe selbstständig: Online-C#-Compiler