bool (C#-Referenz)bool (C# Reference)

Das Schlüsselwort bool ist ein Alias von System.Boolean.The bool keyword is an alias of System.Boolean. Es wird zur Deklaration von Variablen zur Speicherung der booleschen Werte TRUE und FALSE verwendet.It is used to declare variables to store the Boolean values, true and false.

Hinweis

Wenn Sie einen booleschen Wert benötigen, der auch einen Wert von null aufweisen kann, verwenden Sie bool?.If you require a Boolean variable that can also have a value of null, use bool?. Weitere Informationen finden Sie unter Nullable-Typen.For more information, see Nullable Types.

LiteraleLiterals

Sie können einer bool-Variablen einen booleschen Wert zuweisen.You can assign a Boolean value to a bool variable. Sie können außerdem einer bool-Variablen einen Ausdruck, der bool ergibt, zuweisen.You can also assign an expression that evaluates to bool to a bool variable.

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.The default value of a bool variable is false. Der Standardwert einer bool?-Variablen ist null.The default value of a bool? variable is null.

KonvertierungenConversions

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++, a value of type bool can be converted to a value of type int; in other words, false is equivalent to zero and true is equivalent to nonzero values. In C# gibt es keine Konvertierung von Typ bool und anderen Typen.In C#, there is no conversion between the bool type and other types. Beispielsweise ist die folgende if-Anweisung in C# unzulässig:For example, the following if statement is invalid in C#:

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:To test a variable of the type int, you have to explicitly compare it to a value, such as zero, as follows:


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

BeispielExample

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.In this example, you enter a character from the keyboard and the program checks if the input character is a letter. Wenn es sich um einen Buchstaben handelt, wird geprüft, ob er groß oder klein geschrieben ist.If it is a letter, it checks if it is lowercase or uppercase. Dies wird mit IsLetter und IsLower geprüft, die beiden den Typ bool zurückgeben:These checks are performed with the IsLetter, and IsLower, both of which return the bool type:

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#-ProgrammiersprachenspezifikationC# Language Specification

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

Siehe auchSee Also

C#-ReferenzC# Reference
C#-ProgrammierhandbuchC# Programming Guide
C#-SchlüsselwörterC# Keywords
Tabelle ganzzahliger TypenIntegral Types Table
Tabelle integrierter TypenBuilt-In Types Table
Tabelle für implizite numerische KonvertierungenImplicit Numeric Conversions Table
Tabelle für explizite numerische KonvertierungenExplicit Numeric Conversions Table