title: Assigning one object to another of the same class
body: <p>Please have a look at the code below:</p>
  
  <pre><code>class Parent{}
  
  class Child : Parent
  {
      public int field 
      {
          get; 
          set;
      }
  }
  
  class Program
  {
      static void Main(string[] args)
      {
          Child child1 = new Child();
          Child child2 = child1;              //same memory address?
  
          child1.field = 12;
          child2.field = 14;
  
          Console.WriteLine(child1.field);    //14, as expected
  
          child1 = null;
          Console.WriteLine(child2.field);    //expected to crush: 'child1' is null so expected 'child2' to also be null
  
          Console.ReadLine();
      }
  }
  </code></pre>
  
  <p>I expected this code to crash, but it does not not.</p>
  
  <p>Why?</p>