TOC

This article is currently in the process of being translated into Spanish (~99% done).

Control Structures:

The switch statement

La declaración "switch" es como una serie de declaraciones "if". Es una lista de posibilidades, con una acción para cada posibilidad, y una acción opcional por defecto, en caso de que nada se evalúe como verdadero. Una simple declaración "switch" se ve de la siguiente forma:

int number = 1;
switch(number)
{
    case 0:
        Console.WriteLine("The number is zero!");
        break;
    case 1:
        Console.WriteLine("The number is one!");
        break;
}

El identificador a evaluar es colocado después de la palabra clave "switch", y luego está la lista de los casos declarados, en donde evaluaremos el identificador contra los valores dados. Te darás cuenta de que tenemos una declaración "break" al final de cada caso. C# simplemente requiere que dejemos el bloque antes de que este termine. En caso de que estuvieses escribiendo Una función, pudieses usar una declaración "return" en lugar de una declaración "break".

En este caso usamos un "integer", pero pudiese haberse usado también un "string", o cualquier otro tipo. También puedes especificar la misma acción para múltiples casos. Lo haremos en el próximo ejemplo también, donde tomaremos una entrada (input) del usuario y la usaremos en nuestra declaración "switch":

Console.WriteLine("Do you enjoy C# ? (yes/no/maybe)");
string input = Console.ReadLine();
switch(input.ToLower())
{
    case "yes":
    case "maybe":
        Console.WriteLine("Great!");
        break;
    case "no":
        Console.WriteLine("Too bad!");
        break;
}

En este ejemplo, le hacemos una pregunta al usuario y le sugerimos que introduzca un si, no, o puede ser (yes/no/maybe). Entonces leemos la entrada del usuario, y creamos una declaración "switch" para ella. Para ayudar al usuario, convertimos la entrada a minúsculas antes de compararla con nuestras cadenas de texto (strings) en minusculas, de manera de que no haya diferencia entre letras minúsculas y mayúsculas.

De todas maneras el usuario puede cometer un error ortográfico o tratar de escribir algo completamente diferente; y en ese caso, no se generaría ninguna salida (output) por esta declaración "switch". Introduce la palabra clave "default"

Console.WriteLine("Do you enjoy C# ? (yes/no/maybe)");
string input = Console.ReadLine();
switch(input.ToLower())
{
    case "yes":
    case "maybe":
        Console.WriteLine("Great!");
        break;
    case "no":
        Console.WriteLine("Too bad!");
        break;
    default:
        Console.WriteLine("I'm sorry, I don't understand that!");
        break;
}

Si ninguno de los casos da como resultado verdadero, entonces la declaración "default"; en caso de haberla, será ejecutada. Esto es opcional, como pudimos ver en los ejemplos previos.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!