La sentencia switch

20/26

Lectura

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 鈥渃ola鈥, 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 casetermina 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!

Aportes 10

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Al buen entendedor, pocas palabras jejejejejeje, todo claro =D

Creo que no todos los videos se lograron subir, bug!

Realice este ejercicio como si se tratara de un men煤, con Switch se puede evitar el uso de If 鈥 Else If 鈥 Else If 鈥 Else If-- Else 鈥 El 煤ltimo Else ser铆a como el default, y el If y cada Else If como cada case鈥

public static void Main()
        {
            Console.WriteLine("Ingrese el n煤mero de su color favorito: ");
            Console.WriteLine("  1. Azul  ");
            Console.WriteLine("  2. Rojo  ");
            Console.WriteLine("  3. Verde ");
            string caseSwitch = Console.ReadLine();

            switch (caseSwitch)
            {
                case "1":
                    Console.WriteLine("Su color favorito es el Azul");
                    break;
                case "2":
                    Console.WriteLine("Su color favorito es el Rojo");
                    break;
                case "3":
                    Console.WriteLine("Su color favorito es el Verde");
                    break;
                default:
                    Console.WriteLine("ERROR: No ha ingresado una opci贸n correcta.");
                    break;
            }
        }

hello world.en el curso de fundamentos de c# no salen las lecturas y esa es al respecto mi lectura.

Ok, todas las lecturas no fueron colocadas y ni se dieron cuenta. 馃槙

Aqu铆 solo lo us茅 para un 鈥渃ontrol鈥 de entrada de alguna cantina / botanero. En su momento intent茅 hacerlo con ifs pero me fall贸 con un caso espec铆fico jajajaja

Repasando ando

Les dejo mi versi贸n del ejemplo 馃槂

Console.WriteLine("Topic: Case Statement");

Console.WriteLine("Soda Shop");

Console.WriteLine("Select a soda and enter the number of your choice ");
Console.WriteLine("Options:\n 1.Cola \n 2.Lime \n 3.Orange \n 4.Apple");

int customerChoice = int.Parse(Console.ReadLine()); 


switch (customerChoice)
{
    case 1:
        Console.WriteLine("Cola soda - $2 USD");
        break;
    case 2:
        Console.WriteLine("Lime soda - $1 USD");
        break;

    case 3:
        Console.WriteLine("Orange soda - $1.5 USD");
        break;
    case 4:
        Console.WriteLine("Apple soda - $1 USD");
        break;

    default:
        Console.WriteLine("Select a valid option");
        break;

}

funciona como cajas de decisiones a diferencia del if que va desordenado por eso se utiliza para algo en especifico

using System;

namespace La_caja_switch
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Elige un super poder: ");
Console.WriteLine(鈥1.ojos laser鈥);
Console.WriteLine(鈥2.volar鈥);
Console.WriteLine(鈥3.super fuerza鈥);
Console.WriteLine(鈥4.Telequinesis鈥);

        string caseSwitch = Console.ReadLine();

        switch (caseSwitch)
        {
            case "1":
                Console.WriteLine("Elegiste lanzar rayos de tus ojos");
                break;
            case "2":
        Console.WriteLine("Elegiste poder volar");
                break;
            case "3":
        Console.WriteLine("Elegiste la super fuerza");
                break;
            case "4":
        Console.WriteLine("Elegiste la telequinesis");
                break;
            default:
                Console.WriteLine("Elegiste no tener ningun poder y ser como batman");
                break;
        }
    }
} 

}

Bugs ?