Why explicitly call ToString() method in MessageBox.show()?
<p>I gather that <strong><code>MessageBox.show()</code></strong> method accepts <strong>string</strong> argument and therefore we require <strong><code>ToString()</code></strong> method to call on the argument.</p>

<pre><code>object k = 999;
MessageBox.Show(k.ToString());
</code></pre>

<p>But when it comes to <strong><code>Console.WriteLine()</code></strong>, it is smart enough to do this by itself. My question is <strong>Why the difference?</strong></p>