Логическое значение (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