bool (Référence C#)
Mise à jour : novembre 2007
Le mot clé bool est un alias de System.Boolean. Il est utilisé pour déclarer des variables afin de stocker les valeurs booléennes, true et false.
Remarque : |
---|
Si vous nécessitez une variable booléenne qui peut également avoir une valeur null, utilisez , bool?. Pour plus d'informations, consultez Types nullables (Guide de programmation C#). |
Littéraux
Vous pouvez assigner une valeur booléenne à une variable bool. Vous pouvez également assigner à une variable bool une expression dont le résultat est de type 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
*/
Conversions
En langage C++, une valeur de type bool peut être convertie en valeur de type int. En d'autres termes, false équivaut à zéro et true équivaut à toute valeur autre que zéro. En langage C#, il n'y a pas de conversion possible entre le type bool et les autres types. Par exemple, l'instruction if suivante n'est pas valide en C# :
int x = 123;
// if (x) // Error: "Cannot implicitly convert type 'int' to 'bool'"
{
Console.Write("The value of x is nonzero.");
}
Pour tester une variable du type int, vous devez la comparer explicitement à une valeur telle que zéro, comme suit :
if (x != 0) // The C# way
{
Console.Write("The value of x is nonzero.");
}
Exemple
Dans cet exemple, vous entrez un caractère et le programme contrôle si le caractère que vous avez entré est une lettre. Si c'est une lettre, le programme vérifie s'il s'agit d'une minuscule ou d'une majuscule. Ces contrôles sont effectués avec IsLetter, et IsLower, qui retournent tous les deux le type 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.
*/
Spécification du langage C#
Pour plus d'informations sur bool et les sujets connexes, consultez les sections suivantes de la Spécifications du langage C# :
4.1.8 Type bool
7.9.4 Opérateurs d'égalité booléenne
7.11.1 Opérateurs logiques conditionnels booléens
Voir aussi
Concepts
Référence
Tableau des types intégraux (Référence C#)
Tableau des types intégrés (Référence C#)
Tableau des conversions numériques implicites (Référence C#)
Tableau des conversions numériques explicites (Référence C#)