这个是仁者见仁智者见智的问题了,但是Resharper(一款十分流行并强大的辅助工具)推荐尽量使用var,因为这样代码简洁美观,有利于阅读者获取最有用的信息。特别是在使用Linq的时候,返回类型往往十分复杂冗长,如果不使用var将会给程序员带来额外的负担。
但是需要注意的是:
var声明语法并不能说明C#支持弱类型,实际上C#仍然是强类型语言,因为在编译时var声明的类型将会根据赋值语句自动判定。
由1可知,使用var关键字声明变量的时候,一定要有初始值,不然编译器无法得知该变量的类型,会发生编译时报错: