何时使用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