title: why do we prefer ? to ?? operator in c#?
body: <p>I recently found that we can use ?? operator to check nulls. Please check the below code samples:</p>
  
  <pre><code>   var res = data ?? new data();
  </code></pre>
  
  <p>This is exactly similar to </p>
  
  <pre><code>   var res = (data==null) ? new data() : data ;
  </code></pre>
  
  <p>I checked my whole project source repository and some of other open source projects. And this <code>??</code> operator never been used.</p>
  
  <p>I just wondering is there any reason behind this, like performance problems or something?</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>I just updated my sample code based on the comments from recursive &amp; Anton. Its a mistake in careless. :(</p>