title: Does C# 6 Elvis operator (null propagation) short circuit
body: <p>Why this c# code throws a null exception?</p>
  
  <pre><code>bool boolResult = SomeClass?.NullableProperty.ItsOkProperty ?? false;
  </code></pre>
  
  <p>Isn´t elvis operator supposed to stop evaluation (short circuit) once the NullableProperty evaluates to null?</p>
  
  <p>In my understanding the line of code above is a shortcut for:</p>
  
  <pre><code>bool boolResult 
  if(SomeClass != null)
      if(SomeClass.NullableProperty != null)
          boolResult = SomeClass.NullableProperty.ItsOkProperty;
      else
          boolResult = false;
  else
      boolResult = false;
  </code></pre>
  
  <p>Did I assume wrong?</p>
  
  <p>EDIT: Now I understand why I get it wrong, The line of code actually translates to something similar to:</p>
  
  <pre><code>bool boolResult 
  if(SomeClass != null)
      boolResult = SomeClass.NullableProperty.ItsOkProperty;
  else
      boolResult = false;
  </code></pre>
  
  <p>And throws because NullableProperty is null...</p>