Мне всегда было интересно, почему в следующем примере ОК не инициализирует поле экземпляра (полагаясь на то, что оно будет иметь значение по умолчанию) и будет обращаться к нему, а локальные переменные, по-видимому, должен инициализироваться, даже если я инициализирую его значением по умолчанию, которое оно получило бы в любом случае...
public class TestClass
{
private bool a;
public void Do()
{
bool b; // That would solve the problem: = false;
Console.WriteLine(a);
Console.WriteLine(b); //Use of unassigned local variable 'b'
}
}