title: Implicit casting of Null-Coalescing operator result
body: <p>With the following understanding about null coalescing operator (??) in C#.</p>
  
  <pre><code>int? input = -10;
  int result = input ?? 10;//Case - I
  //is same as:
  int result = input == null? input : 10; // Case - II
  </code></pre>
  
  <p>While, by definition and usage, Case I and Case II are same.</p>
  
  <p>It is surprising to see that in Case-I compiler is able to implicitly cast int? to int while in Case-II it shows error: 'Error  1   Cannot implicitly convert type 'int?' to 'int'"</p>
  
  <p>What is it that I am missing about null-coalescing operator?</p>
  
  <p>Thanks for your interest.</p>