title: Ternary operator behaviour inconsistency
body: <p>Following expression is ok</p>
  
  <pre><code>short d = ("obj" == "obj" ) ? 1 : 2;
  </code></pre>
  
  <p>But when you use it like below, syntax error occurs</p>
  
  <pre><code>short d = (DateTime.Now == DateTime.Now) ? 1 : 2;
  </code></pre>
  
  <p>Cannot implicitly convert type 'int' to 'short'. An explicit conversion exists (are you missing a cast?)</p>
  
  <p>Can anyone explain why this is so?</p>
  
  <p>Is there a difference between comparing string-to-string and datetime-to-datetime in a ternary operator, why?</p>
  
  <p>I would be grateful if you could help me.</p>