bool (référence C#)
Le mot clé de type bool
est un alias pour le type de structure .NET System.Boolean qui représente une valeur booléenne, qui peut être true
ou false
.
Pour effectuer des opérations logiques avec des valeurs du type bool
, utilisez des opérateurs logiques booléens. Le type bool
est le type de résultat des opérateurs de comparaison et d’égalité. Une expression bool
défini peut être une expression conditionnelle de contrôle dans les instructions if, do, while et for et dans l’opérateur conditionnel ?:
.
La valeur par défaut du type bool
est false
.
Littéraux
Vous pouvez utiliser les littéraux true
et false
pour initialiser une variable bool
ou transmettre une valeur bool
:
bool check = true;
Console.WriteLine(check ? "Checked" : "Not checked"); // output: Checked
Console.WriteLine(false ? "Checked" : "Not checked"); // output: Not checked
Logique booléenne à trois valeurs
Utilisez le type Nullable bool?
si vous voulez suivre une logique à trois valeurs, par exemple pour travailler avec des bases de données qui acceptent un type booléen à trois valeurs. Dans le cas des opérandes bool?
, les opérateurs prédéfinis &
et |
prennent en charge la logique à trois valeurs. Pour plus d’informations, voir la section Opérateurs logiques booléens Nullable de l’article Opérateurs logiques booléens.
Pour plus d’informations sur les types de valeur pouvant accepter la valeur Null, consultez Types de valeur pouvant accepter la valeur Null.
Conversions
C# fournit uniquement deux conversions qui impliquent le type bool
. Il s’agit d’une conversion implicite vers le type Nullable bool?
correspondant et d’une conversion explicite à partir du type bool?
. Toutefois, .NET fournit des méthodes supplémentaires que vous pouvez utiliser pour effectuer une conversion vers ou depuis le type bool
. Pour plus d’informations, consultez la section Convertir en et à partir de valeurs booléennes de la page de référence de l’API System.Boolean.
spécification du langage C#
Pour plus d’informations, consultez la section Type bool de la spécification du langage C#.