您的位置:首页 > 编程语言 > C#

C# var和dynamic的用法和理解

2016-08-31 14:55 274 查看
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的时候还得考虑性能和效率!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: