Compartilhar via


bool (Referência de C#)

O bool palavra-chave é um alias da Boolean. Ele é usado para declarar variáveis para armazenar os valores booleanos, true e false.

Dica

Se você precisar de uma variável booleana que também pode ter um valor de null, use bool?.Para obter mais informações, consulte Tipos anuláveis (Guia de Programação em C#).

Literais

Você pode atribuir um valor booleano para um bool variável. Você também pode atribuir uma expressão que avalia bool para um bool variável.

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);

        // Branch depending on whether b is true or false. 
        if (b)
        {
            Console.WriteLine("days is an even number");
        }
        else
        {
            Console.WriteLine("days is an odd number");
        }   
    }
}
/* Output:
  True
  days is an <even/odd> number
*/

O valor padrão de um bool variável é false. O valor padrão de um bool? variável é null.

Conversões

No C++, um valor do tipo bool pode ser convertido em um valor do tipo int; em outras palavras, false equivale a zero e true é equivalente a valores diferentes de zero. No C#, não há nenhuma conversão entre a bool tipo e outros tipos. Por exemplo, o seguinte if instrução é inválida em C#:

int x = 123;

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

Para testar uma variável do tipo int, você deve explicitamente compará-lo com um valor, como, por exemplo, zero, da seguinte maneira:

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

Exemplo

Neste exemplo, você digita um caractere do teclado e o programa verifica se o caractere de entrada é uma letra. Se ele for uma letra, ele verifica se é maiúscula ou minúscula. Essas verificações são realizadas com o IsLetter, e IsLower, ambos de qual retorno a bool tipo:

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.
 */

Especificação da linguagem C#

Para obter mais informações, consulte a Especificação da linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também

Referência

Palavras-chave C#

Tabela de tipos integrais (Referência de C#)

Tabela de tipos internos (Referência de C#)

Tabela de conversões numéricas implícitas (Referência de C#)

Tabela de conversões numéricas explícitas (Referência de C#)

Conceitos

Guia de Programação em C#

Outros recursos

Referência de C#