Nested Switch Statements
Parte de la sección Lógica y Flujo del Journey de C# de Coddy — lección 11 de 66.
Las sentencias switch anidadas le permiten colocar una sentencia switch dentro de otra para una toma de decisiones más compleja.
Crea un switch anidado básico:
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;
}Incluye siempre sentencias break para evitar que la ejecución pase al siguiente caso.
Recuerda mantener tu código legible con una sangría adecuada.
Desafío
IntermedioCrea un método llamado calculatePrice que:
- Tome tres parámetros:
- productType (string): Ya sea "Electronics", "Clothing", o "Food"
- productTier (string): Ya sea "Basic", "Premium", o "Luxury"
- basePrice (int): El precio inicial del producto
- Devuelva el precio final (int) después de aplicar estas reglas:
- Para Electronics:
- Basic: Sumar $50 al precio base
- Premium: Sumar $100 al precio base
- Luxury: Sumar $250 al precio base
- Para Clothing:
- Basic: Sumar $10 al precio base
- Premium: Sumar $50 al precio base
- Luxury: Sumar $100 al precio base
- Para Food:
- Basic: Sin cambios al precio base
- Premium: Sumar $15 al precio base
- Luxury: Sumar $30 al precio base
- Para cualquier otro tipo de producto o nivel, devolver el precio base sin cambios
- Para Electronics:
Pruébalo tú mismo
public class CalculatePrice
{
// Implementa el método calculatePrice
public static int calculatePrice(string productType, string productTier, int basePrice)
{
// Escribe tu código aquí
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
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