顯式型別 (Explicitly Typed):在宣告變數時明確地給予型別
隱含型別 (Implicitly Typed):用var這個關鍵字來宣告變數的型別
var使用時機
建立一個暫存的型別(匿名型別)
就不用再另外建立一個類別來存放資料
像是 ArrayList,DataTable,DataRow
可以先用new來把物件實體化
接著將var賦予值(也就是方才實體化的物件)
編譯時就會由編譯器去決定匿名的型別是什麼
(var 其實是靜態繫結的變數 像先前介紹的static一樣 )
都會在程式執行前就先確定好 執行期間就不會變動分配的記憶體)
另外像是LINQ的回傳值也可以用var來接來當作下個函數的參數
(因為LINQ是一種強型別的資料庫查詢語言
在回傳的資料型態無法確認之情況下
用var就可以省去自建型別的麻煩)
注意事項
小結
其實選擇用顯式型別或是隱含型別主要還是依情況來做判斷
或許當型別名稱太長時改用var可以讓程式更簡潔
但如果全部都用var就很難一眼看出此變數的型別
(開發期間倒還好 強大的Visual Studio可以讓你把游標移到變數上將其型別的資訊一覽無遺)
主要還是可讀性或是公司偏好來選擇用哪個