隱式類型
(1)源起
在隱式類型出現之前,
我們在聲明一個變量的時候,
總是要為一個變量指定他的類型
甚至在foreach一個集合的時候,
也要為遍歷的集合的元素,指定變量的類型
隱式類型的出現,
程序員就不用再做這個工作了。
(2)使用方法
來看下面的代碼:
var a = 1; //int a = 1; var b = "123";//string b = "123"; var myObj = new MyObj();//MyObj myObj = new MyObj()
上面的每行代碼,與每行代碼後面的注釋,起到的作用是完全一樣的
也就是說,在聲明一個變量(並且同時給它賦值)的時候,完全不用指定變量的類型,只要一個var就解決問題了
(3)你擔心這樣寫會降低性能嗎?
我可以負責任的告訴你,這樣寫不會影響性能!
上面的代碼和注釋裡的代碼,編譯後產生的IL代碼(中間語言代碼)是完全一樣的
(編譯器根據變量的值,推導出變量的類型,才產生的IL代碼)
(4)這個關鍵字的好處:
你不用在聲明一個變量並給這個變量賦值的時候,寫兩次變量類型
(這一點真的為開發者節省了很多時間)
在foreach一個集合的時候,可以使用var關鍵字來代替書寫循環變量的類型
(5)注意事項
你不能用var關鍵字聲明一個變量而不給它賦值
因為編譯器無法推導出你這個變量是什麼類型的。