Sentencias Switch anidadas
Parte de la sección Lógica y Flujo del Journey de C# de Coddy. Lección 11 de 66.
Las instrucciones switch anidadas te permiten colocar una instrucción switch dentro de otra para tomar decisiones más complejas.
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 instrucciones break para evitar la ejecución continua en el siguiente case.
Recuerda mantener tu código legible con una indentación adecuada.
Desafío
IntermedioCrea un método llamado calculatePrice que:
- Acepte tres parámetros:
- productType (string): Puede ser "Electronics", "Clothing" o "Food"
- productTier (string): Puede ser "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: 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: No cambia el precio base
- Premium: Añade $15 al precio base
- Luxury: Añade $30 al precio base
- Para cualquier otro tipo o nivel de producto, devuelve 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
1Arrays multidimensionales
Conceptos básicos de arrays 2DDeclaración e inicialización de arrays 2DAcceso a elementos de arrays 2DBucles anidados con arrays 2DArrays irregularesOperaciones comunes con matricesRepaso: arrays multidimensionales4Técnicas de control de flujo
Retornos anticipadosCláusulas de guardaSentencias de salto (goto)Break y ContinueAplanar condicionales anidados7Operadores lógicos avanzados
Evaluación de cortocircuitoOperadores lógicos condicionalesPrecedencia de operadoresRepaso: operadores avanzados2Toma de decisiones avanzada
Múltiples condicionesLógica booleana complejaComparación entre If y SwitchSentencias Switch anidadasRepaso: decisiones avanzadas5Manejo de excepciones
Fundamentos de Try-CatchTipos de excepcionesMúltiples bloques CatchTrabajo con archivosBloque FinallyUso de Using frente a Try-FinallyExcepciones personalizadasRepaso: manejo de errores3Mejoras de bucles
Rendimiento de buclesIteración de estructuras complejasCada tipo de bucleRefactorización de buclesRepaso: bucles optimizados6Manejo de valores nulos
Conceptos básicos de referencias nulasTipos de valor anulablesPatrones de comprobación de valores nulosProgramación defensivaRepaso: seguridad frente a valores nulosPractica por tu cuenta: Compilador de C# online