title: Why does a `null` Nullable<T> have a hash code?
body: <p>Bit of a weird question...</p>
  
  <p>But can anyone give me a justification for why this would be expected behaviour?</p>
  
  <p>This just seems totally odd to me....</p>
  
  <pre><code>//Makes perfect sense
  object o = null;
  o.GetHashCode().Dump();
  </code></pre>
  
  <blockquote>
    <p>NullReferenceException: Object reference not set to an instance of an
    object.</p>
  </blockquote>
  
  <pre><code>//Seems very odd
  int? i = null;
  i.GetHashCode().Dump();
  </code></pre>
  
  <blockquote>
    <p>0</p>
  </blockquote>
  
  <p>This obviously means:</p>
  
  <pre><code>int? zero = 0;
  int? argh = null;
  
  zero.GetHashCode() == argh.GetHashCode(); //true
  </code></pre>