Portada arrow Artículos arrow Las expresiones booleanas no se comparan con true y false
Las expresiones booleanas no se comparan con true y false
jueves, 07 de diciembre de 2006
Resulta curioso comprobar como a menudo se introducen de manera totalmente prescindible comparaciones de expresiones booleanas con los valores lógicos de verdadero (true) y falso (false).

Por ejemplo, observa este código en C#

static void Main(string[] args)
{
    int a = Int32.Parse(Console.ReadLine());
    int b = Int32.Parse(Console.ReadLine());
    bool c = a > b;
    if (c == true)
        Console.WriteLine("El primero es mayor");
    else
        Console.WriteLine("El primero es menor o igual");
 
}
 

La variable "c" es un valor booleano, por lo tanto, vale 'true' o 'false'.

En la sentencia if es totalmente innecesario comparar c con true, ya que el resultado de la comparación es el valor que contenga c.

si c es true → true==true → true
si c es false → false==true → false

Es decir, mucho mejor de esta otra forma:

static void Main(string[] args)
{
    int a = Int32.Parse(Console.ReadLine());
    int b = Int32.Parse(Console.ReadLine());
    bool c = a > b;
    if (c)
        Console.WriteLine("El primero es mayor");
    else
        Console.WriteLine("El primero es menor o igual");
}
 

Si necesitaramos hacer la comparación en negativo, por ejemplo

static void Main(string[] args)
{
    int a = Int32.Parse(Console.ReadLine());
    int b = Int32.Parse(Console.ReadLine());
    bool c = a > b;
    if (c == false)
        Console.WriteLine("El primero es menor o igual");
    else
        Console.WriteLine("El primero es mayor");
}
 

Tampoco lo estaríamos haciendo de manera elegante. Mucho mejor esto:

static void Main(string[] args)
{
    int a = Int32.Parse(Console.ReadLine());
    int b = Int32.Parse(Console.ReadLine());
    bool c = a > b;
    if (!c)
        Console.WriteLine("El primero es menor o igual");
    else
        Console.WriteLine("El primero es mayor");
}
 
 
←Artículo anterior   Artículo siguiente→

Categorías

  • Ingeniería del software  ( 4 artículos )

    Acerca de la ingeniería del software y el ciclo de vida del software.

  • El programador elegante  ( 12 artículos )
    Una serie de artículos dedicados a buenas prácticas en programación
  • Opinión  ( 7 artículos )

    Artículos de opinión, no necesariamente fundamentada.

  • Básico  ( 12 artículos )

    Artículos básicos sobre temas básicos.

     

¿Quién está en línea?

 web tracker

Suscríbete

RSS feed Sindicación RSS

(¿Qué es la sindicación RSS?)


Suscribir por e-mail

¿Dónde estoy?

Estás en La tecla de ESCAPE, un sitio web personal en el que nos gusta hablar de algoritmos, informática, tecnología, ciencia, ingeniería, internet... y cualquier tontería que se nos ocurra. El punto de vista de nuestros artículos técnicos suele ser muy básico, así que a menudo adoptamos grandes simplificaciones. (Más...-Términos de uso)