Export (0) Print
Expand All


The bool keyword is an alias of System.Boolean. It is used to declare variables to store the Boolean values, true and false.


You can assign a Boolean value to a bool variable, for example:

bool MyVar = true;

You can also assign an expression that evaluates to bool to a bool variable, for example:

bool Alphabetic = (c > 64 && c < 123);


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#, there is no conversion between the bool type and other types. For example, the following if statement is invalid in C#, while it is legal in C++:

int x = 123;
if (x)   // Invalid in C#
   printf("The value of x is nonzero.");

To test a variable of the type int, you have to explicitly compare it to a value (for example, zero), that is:

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


In this example, you enter a character from the keyboard and the program checks if the input character is a letter. If so, it checks if it is lowercase or uppercase. In each case, the proper message is displayed.

// keyword_bool.cs
// Character Tester
using System;
public class BoolTest 
   public 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.");
            Console.WriteLine("The character is uppercase.");
         Console.WriteLine("The character is not an alphabetic character.");



Sample Output

Enter a character: X
The character is uppercase.

Additional sample runs might look as follow:

Enter a character: x
The character is lowercase.

Enter a character: 2
The character is not an alphabetic character.

See Also

C# Keywords | Default Values Table | Built-in Types Table | Operator Overloading Tutorial

© 2014 Microsoft