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的时候还得考虑性能和效率!
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的时候还得考虑性能和效率!
相关文章推荐
- 理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用
- 理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用
- [转]理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用
- 理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用
- 理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用
- c# indexof 用法深入理解
- C# var关键字用法
- C#中dynamic的正确用法
- C#中的Object、Dynamic与var的区别
- C#一些新特性Object,var,dynamic,asynchronous
- C#4.0中var和dynamic的区别
- C#中var用法详解
- c# indexof 用法深入理解
- 理解C# 4 dynamic(2) – ExpandoObject的使用
- C#基础——var关键字用法
- C#中的索引器的简单理解和用法
- C# ManualResetEvent的理解和用法
- 新手对于C#中Dictionary的用法及用途实例理解
- 改善C#程序的建议2:C#中dynamic的正确用法
- [c#]object&var&dynamic的区别