title: Checking for nullable lazy value
body: <p>If I have a Lazy value defined such as</p>
  
  <pre><code>Lazy&lt;MyObject&gt; _lazyObject = new Lazy&lt;MyObject&gt;();
  </code></pre>
  
  <p>If I want to check the value of this isn't null, before I call a method, which option should I do?</p>
  
  <pre><code>if (_lazyObject.IsValueCreated &amp;&amp; _lazyObject.Value.Handle == IntPtr.Zero)
  {
      return false;
  } 
  
  return _lazyObject.Value.MyMethod();
  </code></pre>
  
  <p>or</p>
  
  <pre><code>return _lazyObject?.Value?.MyMethod() ?? false;
  </code></pre>
  
  <p>I am preferring the second option because I think it accounts for the slight possibility that the Lazy object may become null between when it gets a handle, and when it makes the call. Is this a correct assumption?</p>