您的位置:首页 > 移动开发 > Objective-C

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:

//申明的重载函数

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");


简化反射

减少代码行数,提高效率

引用原文中有例子,不在陈述= =
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Dynamic