bool (référence C#)

Le mot clé bool est un alias de Boolean. Il est utilisé pour déclarer des variables afin de stocker les valeurs booléennes, true et false.

Notes

Si vous nécessitez une variable booléenne qui peut également avoir une valeur null, utilisez , bool?.Pour plus d'informations, consultez Types Nullable (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);

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

(La valeur par défaut de la variable bool est false. (La valeur par défaut de la variable bool? est null.

Conversions

En langage C++, une valeur de type bool peut être convertie en une valeur de type int. En d'autres termes, false équivaut à zéro et true équivaut à toute valeur différente de 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, voir la Spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.

Voir aussi

Référence

Mots clés C#

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

Concepts

Guide de programmation C#

Autres ressources

Référence C#