Este sitio web usa cookies de terceros para analizar el tráfico y personalizar los anuncios. Si no está de acuerdo, abandone el sitio y no siga navegando por él. ×


2.1.4. if-else

Podemos indicar lo que queremos que ocurra en caso de que no se cumpla la condición, usando la orden "else" (en caso contrario), así:

// Ejemplo_02_01_04a.cs
// Condiciones con if (4): caso contrario ("else")
// Introducción a C#, por Nacho Cabanes

using System;

public class Ejemplo_02_01_04a
{
    public static void Main()
    {
        int numero;

        Console.WriteLine("Introduce un número");
        numero = Convert.ToInt32(Console.ReadLine());
        if (numero > 0) 
            Console.WriteLine("El número es positivo.");
        else 
            Console.WriteLine("El número es cero o negativo.");
    }
}

Podríamos intentar evitar el uso de "else" si utilizamos un "if" a continuación de otro, así:

// Ejemplo_02_01_04b.cs
// Condiciones con if (5): caso contrario, sin "else"
// Introducción a C#, por Nacho Cabanes

using System;

public class Ejemplo_02_01_04b
{
    public static void Main()
    {
        int numero;

        Console.WriteLine("Introduce un número");
        numero = Convert.ToInt32(Console.ReadLine());

        if (numero > 0) 
            Console.WriteLine("El número es positivo.");

        if (numero <= 0) 
            Console.WriteLine("El número es cero o negativo.");
    }
}

Pero el comportamiento no es el mismo: en el primer caso (ejemplo 02_01_04a) se mira si el valor es positivo; si no lo es, se pasa a la segunda orden, pero si lo es, el programa ya ha terminado. En el segundo caso (ejemplo 02_01_04b), aunque el número sea positivo, se vuelve a realizar la segunda comprobación para ver si es negativo o cero, por lo que el programa es algo más lento.

Podemos enlazar varios "if" usando "else", para decir "si no se cumple esta condición, mira a ver si se cumple esta otra":

// Ejemplo_02_01_04c.cs
// Condiciones con if (6): condiciones encadenadas
// Introducción a C#, por Nacho Cabanes

using System;

public class Ejemplo_02_01_04c
{
    public static void Main()
    {
        int numero;

        Console.WriteLine("Introduce un número");
        numero = Convert.ToInt32(Console.ReadLine());

        if (numero > 0) 
            Console.WriteLine("El número es positivo.");
        else
            if (numero < 0) 
                Console.WriteLine("El número es negativo.");
            else
                Console.WriteLine("El número es cero.");
    }
}

Ejercicios propuestos:

Ejercicio propuesto 2.1.4.1: Mejora la solución al ejercicio 2.1.3.1, usando "else".
Ejercicio propuesto 2.1.4.2: Mejora la solución al ejercicio 2.1.3.2, usando "else".