Nested Switch Statements
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy — Lektion 11 von 66.
Verschachtelte switch-Anweisungen ermöglichen es, eine switch-Anweisung in einer anderen zu platzieren, um komplexere Entscheidungsfindung zu ermöglichen.
Erstellen Sie 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;
}Immer break-Anweisungen einfügen, um ein Durchfallen zum nächsten case zu verhindern.
Denken Sie daran, Ihren Code mit richtiger Einrückung lesbar zu halten.
Aufgabe
MittelErstellen Sie eine Methode namens calculatePrice, die:
- Nimmt drei Parameter an:
- productType (string): Entweder "Electronics", "Clothing" oder "Food"
- productTier (string): Entweder "Basic", "Premium" oder "Luxury"
- basePrice (int): Der Basispreis des Produkts
- Gibt den Endpreis (int) zurück, nachdem diese Regeln angewendet wurden:
- Für Electronics:
- Basic: Fügen Sie $50 zum Basispreis hinzu
- Premium: Fügen Sie $100 zum Basispreis hinzu
- Luxury: Fügen Sie $250 zum Basispreis hinzu
- Für Clothing:
- Basic: Fügen Sie $10 zum Basispreis hinzu
- Premium: Fügen Sie $50 zum Basispreis hinzu
- Luxury: Fügen Sie $100 zum Basispreis hinzu
- Für Food:
- Basic: Keine Änderung am Basispreis
- Premium: Fügen Sie $15 zum Basispreis hinzu
- Luxury: Fügen Sie $30 zum Basispreis hinzu
- Für jede andere Produktart oder -stufe geben Sie den Basispreis unverändert zurück
- Für Electronics:
Spickzettel
Verschachtelte switch-Anweisungen ermöglichen es, eine switch-Anweisung in einer anderen zu platzieren, für komplexe Entscheidungsfindung:
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;
}Verwenden Sie immer break-Anweisungen, um ein Durchrutschen zum nächsten case zu verhindern und eine ordnungsgemäße Einrückung für die Lesbarkeit zu wahren.
Probier es selbst
public class CalculatePrice
{
// Implementieren Sie die calculatePrice-Methode
public static int calculatePrice(string productType, string productTier, int basePrice)
{
// Schreiben Sie Ihren 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
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety