bool (C#-Referenz)
Das bool-Schlüsselwort ist ein Alias von Boolean. Es wird verwendet, um Variablen zur Speicherung der booleschen Werte true und false zu deklarieren.
Hinweis
Wenn Sie eine boolesche Variable benötigen, die auch den Wert null annehmen kann, verwenden Sie bool?.Weitere Informationen finden Sie unter Typen, die NULL-Werte zulassen (C#-Programmierhandbuch).
Literale
Sie können einer bool-Variablen einen booleschen Wert zuweisen. Sie können auch einen Ausdruck zuweisen, durch den eine bool-Variable als bool ausgewertet wird.
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
In C++ kann ein Wert vom Typ bool in einen Wert vom Typ int konvertiert werden. Mit anderen Worten: false entspricht 0, und true entspricht Werten ungleich 0. In C# findet keine Konvertierung zwischen dem bool-Typ und anderen Datentypen statt. Zum Beispiel ist die folgende if-Anweisung in C# ungültig:
int x = 123;
// if (x) // Error: "Cannot implicitly convert type 'int' to 'bool'"
{
Console.Write("The value of x is nonzero.");
}
Um eine Variable vom Typ int zu testen, müssen Sie sie explizit mit einem Wert, beispielsweise 0 (null), vergleichen. Beispiel:
if (x != 0) // The C# way
{
Console.Write("The value of x is nonzero.");
}
Beispiel
In diesem Beispiel geben Sie über die Tastatur ein Zeichen ein, woraufhin das Programm prüft, ob das eingegebene Zeichen ein Buchstabe ist. Falls ja, wird überprüft, ob der Buchstabe in Groß- oder Kleinschreibung eingegeben wurde. Diese Überprüfungen werden mit IsLetter und IsLower ausgeführt, die beide den bool-Typ 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
Referenz
Tabelle ganzzahliger Typen (C#-Referenz)
Tabelle integrierter Typen (C#-Referenz)
Tabelle für implizite numerische Konvertierungen (C#-Referenz)
Tabelle für explizite numerische Konvertierungen (C#-Referenz)