关闭

C# var和dynamic的用法和理解

734人阅读 评论(0) 收藏 举报
分类:

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:342074次
    • 积分:4552
    • 等级:
    • 排名:第6459名
    • 原创:128篇
    • 转载:2篇
    • 译文:0篇
    • 评论:39条
    文章分类
    最新评论