AnteriorPosterior

2.1.4. if-else

  Curso: Programación en C# (2015), por Nacho Cabanes

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&##40;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".

Actualizado el: 21-10-2014 15:53

AnteriorPosterior