title: Does null conditional operator return false if null?
body: <p>I have this conditional</p>
  
  <p><code>if (item?.Value2?.GetType() != typeof(string) &amp;&amp; item.get_Value() == 0)</code></p>
  
  <p>I believe that if item is null the <code>?.</code> operation will return null, which I believe will be resolved as <code>false</code> causing the condition to short circuit and all will be well (<code>item.get_Value()</code> won't be called)</p>
  
  <p>However I am not certain, I thought maybe I need to do it like so </p>
  
  <p><code>if (item?.Value2?.GetType() ?? 0 != typeof(string) &amp;&amp; item.get_Value() == 0)</code></p>
  
  <p>but I think that might be overkill, is the first way safe from potential null reference exception? </p>