Share via


if-else (Referencia de C#)

La instrucción if selecciona una instrucción para ejecución en base al valor de una expresión Boolean. En el ejemplo siguiente, la variable Boolean result se establece en true y, a continuación, se comprueba en la instrucción if. El resultado es: The variable is set to true.

bool result = true;

if (result)
{
    Console.WriteLine("The variable is set to true.");
}
else
{
    Console.WriteLine("The variable is set to false.");
}

Si la expresión en el paréntesis se evalúa como true, a continuación se ejecuta la instrucción Console.WriteLine("The variable is set to true."); . Después de ejecutar la instrucción if, el control se transfiere a la siguiente instrucción. Else no se ejecuta en este ejemplo.

Si se desea ejecutar más de una instrucción, es posible ejecutar varias instrucciones en forma condicional al incluirlas en bloques mediante {}, al igual que en el ejemplo anterior.

Las instrucciones que se van a ejecutar como resultado de comprobar la condición pueden ser de cualquier tipo, incluida otra instrucción if anidada dentro de la instrucción if original. En las instrucciones if anidadas, la cláusula else pertenece a la última instrucción if que no tiene una cláusula else correspondiente. Por ejemplo:


int x = 12;
int y = 18;

if (x > 10)
    if (y > 20)
        Console.Write("Statement_1");
    else
        Console.Write("Statement_2");

En este ejemplo, se mostrará Statement_2 si la condición (y > 20) se evalúa como false. No obstante, si desea asociar Statement_2 a la condición (x >10), utilice llaves:


if (x > 10)
{
    if (y > 20)
        Console.Write("Statement_1");
}
else
    Console.Write("Statement_2");

En este caso, se mostrará Statement_2 si la condición (x > 10) se evalúa como false.

Ejemplo

En este ejemplo, se escribe un carácter desde el teclado y el programa comprueba si se trata de un carácter alfabético. En ese caso, comprueba si es minúscula o mayúscula. En cada caso, se muestra el mensaje apropiado.


    class IfTest
    {
        static void Main()
        {
            Console.Write("Enter a character: ");
            char c = (char)Console.Read();
            if (Char.IsLetter(c))
            {
                if (Char.IsLower(c))
                {
                    Console.WriteLine("The character is lowercase.");
                }
                else
                {
                    Console.WriteLine("The character is uppercase.");
                }
            }
            else
            {
                Console.WriteLine("Not an alphabetic character.");
            }
        }

        /*
        Input:
        2
        Sample Output
        Enter a character: 2
        The character is not an alphabetic character.
        Additional sample might look as follows:
        Run #2:
        Enter a character: A
        The character is uppercase.
        Run #3:
        Enter a character: h
        The character is lowercase.
         * */
    }

También es posible extender la instrucción if de modo que puedan controlarse varias condiciones, mediante la construcción else-if siguiente:

            if (Condition_1)
            {
                // Statement_1;
            }
            else if (Condition_2)
            {
                // Statement_2;
            }
            else if (Condition_3)
            {
                // Statement_3;
            }
            else
            {
                // Statement_n;
            }

Este ejemplo comprueba si el carácter especificado es una letra minúscula, mayúscula o un número. En cualquier otro caso, se tratará de un carácter no alfanumérico. El programa utiliza la anterior estructura else-if en escalera.

    public class IfTest3
{
    static void Main()
    {
        Console.Write("Enter a character: ");
        char c = (char)Console.Read();

        if (Char.IsUpper(c))
        {
            Console.WriteLine("Character is uppercase.");
        }
        else if (Char.IsLower(c))
        {
            Console.WriteLine("Character is lowercase.");
        }
        else if (Char.IsDigit(c))
        {
            Console.WriteLine("Character is a number.");
        }
        else
        {
            Console.WriteLine("Character is not alphanumeric.");
        }
    }
}
    /*
        Sample Input:  E

        Sample Output:
        Enter a character: E
        The character is uppercase.

        Additional sample runs might look as follows:
        Run #2
        Enter a character: e
        The character is lowercase.
        Run #3:
        Enter a character: 4
        The character is a number.
        Run #4:
        Enter a character: $
        The character is not alphanumeric.
    */

Especificación del lenguaje C#

Para obtener más información, vea la Especificación del lenguaje C#. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.

Vea también

Referencia

Palabras clave de C#

Operador ?: (Referencia de C#)

if-else Statement (C++)

switch (Referencia de C#)

Conceptos

Guía de programación de C#

Otros recursos

Referencia de C#