Boolean ( bool) не может быть нулевым. И:
bool foo; if(foo){} // Use of unassigned local variable 'foo'
Почему значение по умолчанию не ложно? Так каково же значение, если оно не равно нулю? Какова причина?
Редактировать 1 - значение по умолчанию действительно ложно, но все переменные должны быть инициализированы, почему? это уже для другого вопроса;)
Изменить 2 - с помощью Resharper: private bool foo = false; // Initializing field by default value is redundant???