title: string = string + int: What's behind the scenes?
body: <p>In C# you can implicitly concatenate a string and let's say, an integer:</p>
  
  <pre><code>string sth = "something" + 0;
  </code></pre>
  
  <p>My questions are:</p>
  
  <ol>
  <li><p>Why, by assuming the fact that you can implicitly concatenate a string and an int, C# disallows initializing strings like this:</p>
  
  <pre><code>string sth = 0; // Error: Cannot convert source type 'int' to target type 'string'
  </code></pre></li>
  <li><p>How C# casts 0 as string. Is it <code>0.ToString()</code> or <code>(string)0</code> or something else?</p></li>
  <li>How to find an answer of the previous question?</li>
  </ol>