C# Dynamic Var Object 学习
2016-10-18 10:01
375 查看
原文学习url:http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html
动态变量类型Dynamic学习比较Var和Object
Dynamic为动态变量类型,在编译的时候不校验在运行时才转化类型,Dynamic可以和其他类型进行隐式转化
eg:
dynamic d1 = 7;
dynamic d2 = "a string";
dynamic d3 = System.DateTime.Today;
dynamic d4 = System.Diagnostics.Process.GetProcesses();
int i = d1;
string str = d2;
DateTime dt = d3;
System.Diagnostics.Process[] procs = d4;
比较于var,var为在编译时就转化为其应有的数据类型
eg:
<span style="font-size:18px;">var i=7;
var j="test";
编译后:
int i=7;
string j="test";
</span>
Dynamic在编译的时候不会转化为其应有的数据类型,而是在运行时在转换,就此而言,Dynamic更接近与Object,但是用法却更接近于Var
重载函数
当一大堆重载函数参数列表的个数一样,调用重载函数的时候使用Dynamic,那真是画美不看,
eg:
eg2:
简化反射
减少代码行数,提高效率
引用原文中有例子,不在陈述= =
动态变量类型Dynamic学习比较Var和Object
Dynamic为动态变量类型,在编译的时候不校验在运行时才转化类型,Dynamic可以和其他类型进行隐式转化
eg:
dynamic d1 = 7;
dynamic d2 = "a string";
dynamic d3 = System.DateTime.Today;
dynamic d4 = System.Diagnostics.Process.GetProcesses();
int i = d1;
string str = d2;
DateTime dt = d3;
System.Diagnostics.Process[] procs = d4;
比较于var,var为在编译时就转化为其应有的数据类型
eg:
<span style="font-size:18px;">var i=7;
var j="test";
编译后:
int i=7;
string j="test";
</span>
Dynamic在编译的时候不会转化为其应有的数据类型,而是在运行时在转换,就此而言,Dynamic更接近与Object,但是用法却更接近于Var
重载函数
当一大堆重载函数参数列表的个数一样,调用重载函数的时候使用Dynamic,那真是画美不看,
eg:
//申明的重载函数 public void test(int i){}; public void test(float i){}; public void test(string i){}; //调用 Dynamic i=data; test(i);//慢慢找
eg2:
//申明的函数 public void test(dynamic i){}; //调用 test(1); test("test");
简化反射
减少代码行数,提高效率
引用原文中有例子,不在陈述= =
相关文章推荐
- C#中的Object、Dynamic与var的区别
- c# 把一个匿名对象赋值给一个Object类型的变量后,怎么取这个变量? c# dynamic动态类型和匿名类 详解C# 匿名对象(匿名类型)、var、动态类型 dynamic 深入浅析C#中的var和dynamic
- [转]理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用
- 理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用
- C#一些新特性Object,var,dynamic,asynchronous
- 理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用
- (转)C#4.0的dynamic和var及object关键字辨析
- 理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用
- [c#]object&var&dynamic的区别[转]
- [c#]object&var&dynamic的区别
- 理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用
- var, object, dynamic的区别以及使用
- [C#.Net&Linq]LINQ to Object 学习笔记(资料群组GroupBy、ToLookup、ToDictionary)
- Effective C# 学习笔记(四十四)合理地在C#中使用Dynamic特性
- var, object, dynamic的区别以及dynamic的使用
- Func与Action, delegate, event, var, dynamic, 匿名方法,lambda, 大量的关键都使用相同功能,大大增加C#复杂性
- C# var标识符 和 dynamic关键字
- C#4.0中var和dynamic的区别
- C#学习之动态化--dynamic
- C#学习之动态化--dynamic