title: var key word and using name space
body: <p>I have a method <code>ExecuteQuery</code> and it is returning a <code>Datatable</code> object which is a method of object <code>_dataAccess</code>, this will compile proper with out using <code>System.Data</code></p>
  
  <pre><code>string query = "select * from UserNeeds where userNeedID =" + item.ParentId;
  var result = _dataAccess.ExecuteQuery(query, CommandType.Select);
  foreach (var rows in result.Rows)
  {
  
  }
  </code></pre>
  
  <p>but if i changed var and if give orginal type <code>Datatable</code> it will show comiple time error as we missed <code>System.Data</code>. </p>
  
  <p>My question is how compiler can understand that <code>System.Data</code> is the name space when we keep <code>var</code> as type. </p>
  
  <p>or why it is forcing when we use orginal <code>datatype</code> in place of <code>var</code>, how compiler handing the same ?</p>