Menu
Coddy logo textTech

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 te 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;
}

Siempre incluya sentencias break para evitar el fall-through al siguiente case.

Recuerda mantener tu código legible con la indentación adecuada.

challenge icon

Desafío

Intermedio

Crea un método llamado calculatePrice que:

  1. Toma tres parámetros:
    • productType (string): "Electronics", "Clothing" o "Food"
    • productTier (string): "Basic", "Premium" o "Luxury"
    • basePrice (int): El precio inicial del producto
  2. Devuelve el precio final (int) después de aplicar estas reglas:
    • Para Electronics:
      • Basic: Añade $50 al precio base
      • Premium: Añade $100 al precio base
      • Luxury: Añade $250 al precio base
    • Para Clothing:
      • Basic: Añade $10 al precio base
      • Premium: Añade $50 al precio base
      • Luxury: Añade $100 al precio base
    • Para Food:
      • Basic: Sin cambios al precio base
      • Premium: Añade $15 al precio base
      • Luxury: Añade $30 al precio base
    • Para cualquier otro tipo de producto o nivel, devuelve el precio base sin cambios

Hoja de referencia

Las declaraciones switch anidadas permiten colocar una declaración switch dentro de otra para la toma de decisiones compleja:

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;
}

Siempre incluya sentencias break para evitar el paso al siguiente caso y mantener una indentación adecuada para mejorar la legibilidad.

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í
        
    }
}
quiz iconPonte a prueba

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