C# var和dynamic的用法和理解

var和dynamic的本质区别是类型判断的时间不同,前者是编译时,后者是运行时。


1.var在声明变量方面简化语法(只能是局部变量),在编译时交给编译器推断。


2.dynamic也是为简化语法而生的,它的类型推断是交给系统来执行的(运行时推断类型)。


3.var不能用于字段、参数等,而dynamic则可以。


4.var在初始化的时候就确定了类型。


5.dynamic可以用于方法字段、参数、返回值以及泛型参数,把动态发挥的淋漓尽致。


6.dynamic在反射方面做的可以,只是我自己没有尝试过。


7.var是C# 3.0的产物,dynamic是C# 4.0的产物。


最后还得关心一下效率问题:
越底层的效率越高
可以说是 传统强类型 >= var > dynamic,所以用dynamic的时候还得考虑性能和效率!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值