Sentencia Switch
Parte de la sección Fundamentos del Journey de C# de Coddy. Lección 27 de 70.
La instrucción switch es como una instrucción if con varias opciones. En lugar de evaluar una sola condición, comprueba el valor de una variable frente a varios casos y ejecuta el código asociado al caso coincidente.
Esta es la estructura básica de una instrucción switch:
switch (variable) {
case value1:
// Código que se ejecuta si variable es igual a value1
break;
case value2:
// Código que se ejecuta si variable es igual a value2
break;
// ... más casos
default:
// Código que se ejecuta si no coincide ningún caso
break;
}- La palabra clave
switchva seguida de la variable que quieres probar, entre paréntesis. - Cada
caserepresenta un posible valor de la variable. - El código dentro de cada
casese ejecuta si la variable coincide con el valor de ese caso.
- Cada
caseno vacío debe terminar conbreak(oreturn), que sale delswitch. Omitirlo provoca un error de compilación: a diferencia de C o Java, C# nunca permite que la ejecución «pase» de un caso al siguiente. Solo las etiquetas de casos vacías apiladas unas encima de otras comparten código, como se muestra a continuación.
- 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 varios casos en uno:
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. Usa una instrucción 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)
Imprime el nombre de la estación exactamente como aparece arriba, en inglés.
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 anidadosPractica por tu cuenta: Compilador de C# online