C#關鍵字-var、object、dynamic的差異
一、object
當指定字串給object型別的物件後,因為object是所有物件的根型別,
因此在做運算時該object型別必須明確轉型成int,否則在編譯前將會指出錯誤訊息,
改成如下
二、var
當使用var宣告變數時,即在編譯器就會經由初始化變數來推斷該型別,
因為於編譯時已決定好型別了,所以該變數在做運算時可不用再做轉型。
由上例,如果之後再指定字串給原本型別為int的變數,
則無法編譯。
二、dynamic
其實dynamic具有動態語言特性的靜態型別
宣告為dymanic型別的變數,由於只會在執行時辨識型別,
所以不需要在運算時做轉型動作,
也可以將其他型別指定給該變數。
參考資料: