dynamic、object、var之间有什么区别?

dynamic .net 4.0  动态类型

ExpandoObject 应用

dynamic Customer = new ExpandoObject();
Customer.Name = "Json工具";
Customer.Age = 12; 
Response.Write(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";