Controla el flujo del código con if, else if y else

Completados

Sugerencia

Consulte la pestaña Texto e imágenes para obtener más detalles.

Una sola if instrucción solo puede controlar un resultado. Para manejar resultados alternativos, C# proporciona las palabras clave else y else if.

Adición de una ruta de acceso alternativa con else

Use else para ejecutar un bloque de código diferente cuando la condición sea false:

int total = 12;

if (total >= 15)
{
    Console.WriteLine("You win!");
}
else
{
    Console.WriteLine("Sorry, you lose.");
}

Encadenar condiciones con else if

Cuando tenga más de dos resultados posibles, agregue else if bloques para comprobar condiciones adicionales:

int total = 12;

if (total >= 16)
{
    Console.WriteLine("You win a new car!");
}
else if (total >= 10)
{
    Console.WriteLine("You win a new laptop!");
}
else if (total == 7)
{
    Console.WriteLine("You win a trip for two!");
}
else
{
    Console.WriteLine("You win a kitten!");
}

Primer partido gana

C# comprueba cada condición en orden y ejecuta el primer bloque cuya condición es true. Omite todas las condiciones posteriores, incluso si, de otro modo, más de una sería true. Si ninguna de las condiciones coincide, el else bloque se ejecuta. El else es opcional, pero debe ser el último si se incluye.

Como total está 12 en el ejemplo anterior, la salida es:

You win a new laptop!

Ordene las condiciones de la más específica a la menos específica para no saltarse accidentalmente el resultado esperado.

Anidación de sentencias if

Puede colocar una if instrucción dentro del bloque de código de otra if instrucción. Esto se denomina anidamiento y resulta útil cuando una decisión depende de otra:

bool hasTicket = true;
int age = 16;

if (hasTicket)
{
    if (age >= 18)
    {
        Console.WriteLine("Entry granted.");
    }
    else
    {
        Console.WriteLine("Minors must be accompanied by an adult.");
    }
}