title: What happens when calling Object.ToString when the actual type is String
body: <p>Lets say we have the folowing code.</p>
  
  <pre><code>var foo = "I am a string";
  Object obj = foo;
  var bar = obj.ToString();
  </code></pre>
  
  <p>What is actually happening?</p>
  
  <ol>
  <li>Cast the obj to a string and then calls the ToString Method?<br/></li>
  <li>Calls the ToString method on obj which is the override of string without casting?<br/></li>
  <li>Something else?</li>
  </ol>
  
  <p>Witch one is better to do?</p>
  
  <ol>
  <li><code>var bar = obj.ToString();</code></li>
  <li><code>var bar = (string)obj;</code></li>
  </ol>