bool (C#-Referenz)

Das Schlüsselwort bool ist ein Alias von System.Boolean. Es wird zur Deklaration von Variablen zur Speicherung der booleschen Werte TRUE und FALSE verwendet.

Hinweis

Wenn Sie einen booleschen Wert benötigen, der auch einen Wert von null aufweisen kann, verwenden Sie bool?. Weitere Informationen finden Sie unter Typen, die NULL-Werte zulassen.

Literale

Sie können einer bool-Variablen einen booleschen Wert zuweisen. Sie können außerdem einer bool-Variablen einen Ausdruck, der bool ergibt, zuweisen.

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

Der Standardwert einer bool-Variablen ist false. Der Standardwert einer bool?-Variablen ist null.

Konvertierungen

Der Wert des Typs bool kann in C++ in einen Wert des Typs int konvertiert werden, d.h. false entspricht null und true entspricht einem Wert ungleich null. In C# gibt es keine Konvertierung von Typ bool und anderen Typen. Beispielsweise ist die folgende if-Anweisung in C# unzulässig:

int x = 123;

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

Um eine Variable des Typs int zu testen, müssen Sie sie explizit mit einem Wert, wie z.B. null, vergleichen:


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

Beispiel

In diesem Beispiel geben Sie ein Zeichen über die Tastatur ein, und das Programm prüft, ob es sich bei dem eingegebene Zeichen um einen Buchstaben handelt. Wenn es sich um einen Buchstaben handelt, wird geprüft, ob er groß oder klein geschrieben ist. Dies wird mit IsLetter und IsLower geprüft, die beide den Typ bool zurückgeben:

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

C#-Programmiersprachenspezifikation

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auch

C#-Referenz
C#-Programmierhandbuch
C#-Schlüsselwörter
Tabelle ganzzahliger Typen
Tabelle integrierter Typen
Tabelle für implizite numerische Konvertierungen
Tabelle für explizite numerische Konvertierungen