C# var和dynamic的用法和理解

来源:互联网 发布:斑马打印软件 编辑:程序博客网 时间:2024/06/05 13:31

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 0
原创粉丝点击