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 einen einfachen verschachtelten switch:
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;
}Füge immer break-Anweisungen ein, um einen Fallthrough zum nächsten case zu verhindern.
Denke daran, deinen Code durch eine angemessene Einrückung 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): Der Ausgangspreis des Produkts
- Den Endpreis (int) zurückgibt, nachdem diese Regeln angewendet wurden:
- Für Electronics:
- Basic: $50 zum Grundpreis addieren
- Premium: $100 zum Grundpreis addieren
- Luxury: $250 zum Grundpreis addieren
- Für Clothing:
- Basic: $10 zum Grundpreis addieren
- Premium: $50 zum Grundpreis addieren
- Luxury: $100 zum Grundpreis addieren
- Für Food:
- Basic: Keine Änderung am Grundpreis
- Premium: $15 zum Grundpreis addieren
- Luxury: $30 zum Grundpreis addieren
- Für jeden anderen Produkttyp oder jedes andere Produktsegment den Grundpreis unverändert zurückgeben
- Für Electronics:
Probier es selbst
public class CalculatePrice
{
// Implementiere die calculatePrice-Methode
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