偏好隱含型別的區域變數

C#知識系列

簡述:最近在看effect c# 6 系列,全面提升採用c#6,c#7語法糖,加入新專案
作者偏好var宣告區域變數,讓開發者注意重要的部分(語意的意涵),不是型別

特點,為什麼有時候使用隱含型別會比較好,因為編譯器選擇的型別比你選擇的好。

缺點則是過度的使用會降低程式的可讀性,會誘發出轉換型別的bug。

以var宣告的變數並非動態型別等於右邊的型別隱含轉換。

使用var是編譯器幫你宣告型別。

var foo = new MyType();

上面的型別,可以看得出是什麼型別

var thing = AccountFactory.CreateSavingsAccount();

大部分採用工廠方法,也是非常具體清楚的。
比較極端的部分如下:

var result = SomeObject.DoSomeWork(anotherParameter);

因為某些不一定從方法名稱看得出端倪,更好的變數名稱可以給開發者更好的提示

 

老E隨手寫