bool (Referencia de C#)

Actualización: noviembre 2007

La palabra clave bool es un alias de System.Boolean. Se utiliza para declarar variables que almacenan los valores booleanos, true y false.

Nota:

Si requiere una variable booleana que también puede tener un valor de null, utilice bool?. Para obtener más información, vea Tipos que aceptan valores NULL (Guía de programación de C#).

Literales

Puede asignar un valor booleano a una variable de tipo bool. También es posible asignar una expresión que se evalúa como bool a una variable de tipo bool.

public class BoolTest
{
    static void Main()
    {
        bool b = true;

        // WriteLine automatically converts the value of b to text.
        Console.WriteLine(b);

        int days = DateTime.Now.DayOfYear;


        // Assign the result of a boolean expression to b.
        b = (days % 2 == 0);

        if (true == b)
        {
            Console.WriteLine("days is an even number");
        }
        else
        {
            Console.WriteLine("days is an odd number");
        }   
    }
}
/* Output:
  True
  days is an <even/odd> number
*/

Conversiones

En C++, un valor de tipo bool se puede convertir a un valor de tipo int; es decir, false equivale a cero y true equivale a valores distintos de cero. En C#, no es posible realizar la conversión del tipo bool a otros tipos o viceversa. Por ejemplo, la instrucción if siguiente no es válida en C#:

int x = 123;

// if (x)   // Error: "Cannot implicitly convert type 'int' to 'bool'"
{
    Console.Write("The value of x is nonzero.");
}

Para probar una variable de tipo int, hay que compararla explícitamente con un valor (por ejemplo, cero), como se indica a continuación:

if (x != 0)   // The C# way
{
    Console.Write("The value of x is nonzero.");
}

Ejemplo

En este ejemplo, se escribe un carácter desde el teclado y el programa comprueba si se trata de una letra. Si es una letra, comprueba si está en minúsculas o mayúsculas. Estas comprobaciones se realizan con IsLetter y IsLower, que devuelven el tipo bool:

public class BoolKeyTest
{
    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.");
        }
    }
}
/* Sample Output:
    Enter a character: X
    The character is uppercase.

    Enter a character: x
    The character is lowercase.

    Enter a character: 2
    The character is not an alphabetic character.
 */

Especificación del lenguaje C#

Para obtener más información sobre bool y los temas relacionados, vea las secciones siguientes de Especificación del lenguaje C#:

  • 4.1.8 El tipo bool

  • 7.9.4 Operadores de igualdad Boolean

  • 7.11.1 Operadores lógicos condicionales Boolean

Vea también

Conceptos

Guía de programación de C#

Referencia

Palabras clave de C#

Tabla de tipos integrales (Guía de programación de C#)

Tabla de tipos integrados (Referencia de C#)

Tabla de conversiones numéricas implícitas (Referencia de C#)

Tabla de conversiones numéricas explícitas (Referencia de C#)

Otros recursos

Referencia de C#