Uso de la sentencia Switch en C#
Clase 20 de 26 • Curso de Introducción a C# con .NET 3.1
Hola, quiero felicitarte por haber llegado hasta aquí. Estamos casi por llegar al final de este curso y en este momento conocerás la sentencia Switch.
¿Para qué sirve Switch?
Piensa en ella como una alternativa a if-else
, pero en este caso se evaluará que una sola expresión coincida con una cantidad limitada de valores o condiciones.
Imagina que tienes una lista limitada de refrescos y quieres imprimir en un ticket cuál escogió el cliente y su precio. Para este caso podemos utilizar un Switch case de esta forma:
using System; public class switchExample { public static void Main() { Console.WriteLine("Enter the selected soda: "); string caseSwitch = Console.ReadLine(); switch (caseSwitch) { case "cola": Console.WriteLine("Cola soda - $2 USD"); break; case "lime": Console.WriteLine("Lime soda - $1 USD"); break; case "orange": Console.WriteLine("Orange soda - $1.5 USD"); break; case "apple": Console.WriteLine("Apple soda - $1 USD"); break; default: Console.WriteLine("ERROR: You did not select a soda or you entered an incorrect value."); break; } } }
Cómo funciona
Para este ejemplo tenemos cuatro casos que el usuario puede elegir y una variable es la que es evaluada para que el Switch decida qué bloque de código ejecutar dependiendo de cada caso.
En el ejemplo esta variable es caseSwitch
y es en switch(caseSwitch)
donde se le indica a la sentencia Switch qué variable debe comparar para su decisión.
Así es que si la variable es igual a “cola”
, por ejemplo, el case hará match y ejecutará:
Console.WriteLine("Cola soda - $2 USD"); break;
Si te fijas hay algo muy importante al final de cada bloque dentro de los casos y es la palabra reservada break
.
Esta palabra le indica al programa que es el punto donde terminan todas las instrucciones de ese case
termina toda instrucción de ese caso para regresar al punto de ejecución siguiente fuera del switch para continuar con el programa.
¿Y qué hay de default?
Al final de toda la estructura de Switch es muy recomendable poner un caso default. Piensa en él como un else
que incluye algo que el programa debe ejecutar en caso de que no haya match con ninguno de los casos.
default: Console.WriteLine("ERROR: You did not select a soda or you entered an incorrect value."); break;
Para este ejemplo se imprime que al no haber ingresado alguno de los valores de los casos se está cayendo en un error. Un caso de uso bastante utilizado para los defaults.
En esta clase aprendiste otra sentencia del mundo de C# que ya puedes empezar a poner en práctica en tus programas. ¡Te veo en la próxima clase porque es momento de conocer sobre los ciclos!