Sentencia Switch
Parte de la sección Fundamentos del Journey de C# de Coddy. Lección 27 de 69.
La instrucción switch es como una instrucción if de varias vías. En lugar de evaluar una sola condición, compara el valor de una variable con 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 ningún caso coincide
break;
}- La palabra clave
switchva seguida de la variable que quieres comprobar 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), lo que sale delswitch. Omitirlo provoca un error de compilación: a diferencia de C o Java, C# nunca permite que la ejecución «caiga» de un caso al siguiente. Solo las etiquetas de caso vacías apiladas unas sobre otras comparten código, como se muestra a continuación.
- El caso
defaultes opcional y se ejecuta si no coincide ningún otro caso.
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 está escrito 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