title: Convert.ToString returns string.empty instead of null
body: <p>I've found out a strange behaviour of Convert.ToString and I would like to understand, why it does behave like this.</p>
  
  <p>Have a look at following code pieces:</p>
  
  <pre><code>string obj = null;
  var str = Convert.ToString(obj);
  Console.WriteLine(str); // CORRECT: returns null;
  </code></pre>
  
  <p>all good so far, but:</p>
  
  <pre><code>DBNull obj = DBNull.Value;
  var str = Convert.ToString(obj);
  Console.WriteLine(str); // ???: returns string.Empty ("")
  </code></pre>
  
  <p>and</p>
  
  <pre><code>object obj = null;
  var str = Convert.ToString(obj);
  Console.WriteLine(str); // ???: returns string.Empty ("")
  </code></pre>
  
  <p>It looks to me like a bug, because when i do a conversion to a string and the input is NULL the result should be default of a string, which is also NULL.</p>