dynamic、object、var之間有什么區(qū)別?

dynamic .net 4.0  動(dòng)態(tài)類型

ExpandoObject 應(yīng)用

dynamic Customer = new ExpandoObject();
Customer.Name = "Json工具";
Customer.Age = 12; 
Response.Write(Customer.Name   Customer.Age);      
可實(shí)現(xiàn)不同類型之間的連接  
static T Add<T>(T t1, T t2)
{
    dynamic d1 = t1;
    dynamic d2 = t2;

    return (T)(d1   d2);
}
object  在和INT相加減時(shí)需要轉(zhuǎn)換類型(int)obj

而后面得新賦值不同類型是沒有問題的


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


var 在INT相加減時(shí)需要轉(zhuǎn)換,但一開始賦值時(shí)也相應(yīng)賦值類型,

后面不能再賦值其它類型


var vr = 123;
kl = vr   1; 
dynamic  具有上面兩都共同和不同不部分

即可以相加減也可以賦值不同類型

dynamic dyn = 123;
kl = dyn   1;
dyn = "adsf";


原文鏈接:dynamic、object、var之間有什么區(qū)別?