[习惯] 优先使用隐式类型的局部变量

【习惯】优先使用隐式类型的局部变量   

        使用var来声明隐式类型的局部变量,编译器会自动选择合适的类型,如返回值不确定具体类型时,就可以用var,但不能滥用,会导致代码难以阅读,甚至可能产生微妙的类型转换bug。

        使用var来声明变量会令人把注意力放在最为重要的地方,即变量的语义,如果类型不合适,编译器会提醒。

        变量的类型安全与有没有把类型写出来并不是一回事。如很多场合下,即使你费心去区分IQueryable与IEnumberable,其他人也无法通过这个获取有用的信息,如果非想把类型告诉编译器,有时还会改变代码的执行方式。

        所以很多情况下都可以用var来声明局部变量。

        局部类型的类型推断机制不会影响C#静态类型检查。因为局部变量的类型推断不等于动态类型检查,var声明的变量不是动态变量,只是它的类型由赋值符号右边的类型来确定。var的意义是你不用把类型告诉编译器,编译器会帮你判断。

        注:对int、float、double等数值类型,应该明确指出其类型,对于其他类型不妨尝试用var。

        总之,除非必须看到变量的具体类型才能正确理解代码的含义,否则就可以考虑用var来声明。有时候,即使多敲几下键盘,声明具体类型,也未必能确保类型安全,或是让代码更好读,但如果选择了不合适的类型,程序效率还会下降,所以还不如让编译器去帮我们选择。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值