title: Initialization of instance fields vs. local variables
body: <p>I have always been wondering about why in the following example it is OK to <strong>not</strong> initialize the instance field (relying that it will have its default value) and accessing it, while local variables apparently <strong>must</strong> be initialized, even if I initialize it to default value it would get anyway...</p>
  
  <pre><code>  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'
      }
    }
  </code></pre>