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