何时使用var和什么时候使用强类型?

这个问题在这里已经有了答案:

  • 在C#86中使用var关键字的答案

  • var关键字是允许隐式类型声明的编译器特性 - 我会选择纯粹使用var因为它更短。

    人们可能会说你使用var失去了可读性,但是,是什么造成的

    MyClass myobj = new MyClass()
    

    比任何更可读

    var myobj = new MyClass()
    

    我认为使用显式类型的唯一方法是在声明接口类型时

    IMyInterface myobj = new MyClass()
    

    或铸造

    MyBaseClass myObj = new MyClass()
    

    再次,你也可以争论这些情况,因为相同的代码将具有相同的功能

    var myObj = (IMyInterface)new MyClass()
    var myObj = (MyBaseClass)new MyClass()
    

    一般来说,我很少看到需要显式定义类型,因为它是由实例化类型推断的。


    两者都是等价的,事实上,如果你编写#1编译器将它解析为#2。 那么重要的是你的可读性。

    关于为什么要避免var应该避免,因为它会对可读性产生负面影响。 我的意见是,尽可能避免它,但是在极端情况下,为表达式编写明确的类型可能太麻烦了(只需编写一个复杂的linq表达式,用grouitting或double groupping并尝试写下它的类型)。


    除了可读性以外,没有区别。

    我会选择方法1,因为我认为它更具可读性。

    链接地址: http://www.djcxy.com/p/53815.html

    上一篇: When to use var and when to use Strongly types?

    下一篇: What is the significance of "var" keyword in c#.Net?