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

dynamic、object、var 之间的区别

2016-01-03 09:33 411 查看
http://www.cnblogs.com/hantianwei/archive/2012/03/28/2421111.html

dynamic .net 4.0 动态类型

ExpandoObject 应用

dynamic Customer = new ExpandoObject();
Customer.Name = "Name001";
Customer.Age = 12;
Console.WriteLine(Customer.Name + Customer.Age);


可实现不同类型之间的连接

static T Add<T>(T t1, T t2)

{
dynamic d1 = t1;
dynamic d2 = t2;

return (T)(d1 + d2);
}


object 在和INT相加减时需要转换类型(int)obj,而后面得新赋值不同类型是没有问题的

object obj = 123;
int kl = 1 + (int)obj;
obj = "df";


var 在INT相加减时需要转换,但一开始赋值时也相应赋值类型,后面不能再赋值其它类型

var vr = 123;
kl = vr + 1;


dynamic 具有上面两都共同和不同不部分,即可以相加减也可以赋值不同类型

dynamic dyn = 123;
kl = dyn + 1;
dyn = "adsf";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: