Sentencia Switch
Parte de la sección Fundamentos del Journey de C# de Coddy — lección 27 de 69.
La sentencia switch es como una sentencia if de múltiples vías. En lugar de evaluar una sola condición, comprueba el valor de una variable frente a múltiples casos y ejecuta el código asociado con el caso coincidente.
Aquí está la estructura básica de una sentencia switch:
switch (variable) {
case value1:
// Código a ejecutar si variable es igual a value1
break;
case value2:
// Código a ejecutar si variable es igual a value2
break;
// ... más casos
default:
// Código a ejecutar si ningún caso coincide
break;
}- La palabra clave
switchva seguida de la variable que deseas probar entre paréntesis. - Cada
caserepresenta un valor posible de la variable. - El código dentro de cada
casese ejecuta si la variable coincide con el valor de ese caso.
- La sentencia
breakes crucial; sale delswitchdespués de que se ejecute un caso. Sin ella, la ejecución pasaría al siguiente caso.
- El caso
defaultes opcional y se ejecuta si ningún otro caso coincide.
Aquí tienes un ejemplo:
int day = 3;
string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... casos para otros días
default:
dayName = "Invalid day";
break;
}También puedes combinar múltiples casos en uno solo:
int day = 3;
string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... casos para otros días
default:
dayName = "Invalid day";
break;
}Desafío
PrincipianteCrea un programa que reciba un número de mes (1 para enero, 2 para febrero, etc.) e imprima la estación a la que pertenece. Utiliza una sentencia switch para la lógica.
Las estaciones y sus meses correspondientes son:
- Winter: diciembre (12), enero (1), febrero (2)
- Spring: marzo (3), abril (4), mayo (5)
- Summer: junio (6), julio (7), agosto (8)
- Autumn: septiembre (9), octubre (10), noviembre (11)
Hoja de referencia
La sentencia switch es un condicional de múltiples vías que comprueba una variable frente a varios casos:
switch (variable) {
case value1:
// Código a ejecutar si variable es igual a value1
break;
case value2:
// Código a ejecutar si variable es igual a value2
break;
default:
// Código a ejecutar si ningún caso coincide
break;
}Componentes clave:
case: representa un posible valor a coincidirbreak: sale del switch después de que se ejecuta un caso (evita el "fall-through")default: caso opcional ejecutado cuando ningún otro caso coincide
Puedes combinar múltiples casos:
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
default:
dayName = "Invalid day";
break;
}Pruébalo tú mismo
using System;
public class Program {
public static void Main(string[] args) {
int month = int.Parse(Console.ReadLine());
string season = "";
// Escribe tu código a continuación
Console.WriteLine(season);
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador de móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticos7Entrada y Salida Básica
Salida BásicaInterpolación de CadenasLectura de EntradaParseoResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores de comparaciónOperadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 33Variables Parte 2
VarConstantesConvenciones de NomenclaturaResumen - Inicializar VariablesConversión de Tipos6Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador ternarioResumen - If ElseIf - Else anidados