实例化类习惯了用类名 Class class1 = new Class(); 看到书上有时候又用var class1 = new Class();
 
这两个有啥区别啊?

解决方案 »

  1.   

    两个用处 一个就是你看到的这种 比较方便
    另一种就是叫做匿名类 linq里面用到的 var sth=new {name="",gender=""} 这里sth就是个匿名类 你可以理解为我从某个表里面取出name和gender这两个字段
      

  2.   

    没有区别。编译器把多余的东西简化了。既然你知道 new Class,就没有必要再写两个Class这个词儿。假设你每一次给两个商机写报告都要手写两遍,何必呢?为什么不能手写一遍、然后自动化地传送给两个人呢?
      

  3.   

    对于你说的情况,使用var显然更简单,其实两种写法等价。但是有一种情况,你不得不用var,那就是匿名类。var obj = new { Name = "a", ID = 1 }; //这里obj是什么类型?
      

  4.   

    var关键字:让编译器自己推定合适的类型,例如:
    var Id = 1; //编译器在这里会觉得,定义为int值是最合适的
    long Id = 1; //而我的编程习惯是,整数变量优先使用long值//以下内容摘自msdn
    //此表达式是合法的 : 
    int i = (i = 20);
    //但此表达式会产生编译时错误:
    var i = (i = 20); //到底是先有鸡还是先有蛋?无法确定
    更多细节参见:
    http://msdn.microsoft.com/zh-cn/library/bb384061(v=vs.110).aspx