A boolean (bool) can\'t be null. And:
bool
bool foo; if(foo){} // Use of unassigned local variable \'foo\'
Why the default value is
The default value is indeed false.
However you can't use a local variable is it's not been assigned first.
You can use the default keyword to verify:
bool foo = default(bool); if (!foo) { Console.WriteLine("Default is false"); }