title: Why prefer var strList = new List<string>(); over List<string> strList = new List<string>();?
body: <p>Why when creating object it is preferred  to use <strong>var</strong> keyword than real type? </p>
  
  <pre><code>var strList  = new List&lt;string&gt;(); //good?
  List&lt;string&gt; strList  = new List&lt;string&gt;(); //why bad?
  </code></pre>
  
  <p>Question is not just about <code>List&lt;T&gt;</code>.</p>