C#關鍵字是伴隨這.NET 3.5以後,伴隨著匿名函數、LINQ而來, 由編譯器幫我們推斷具體的類型。總體來說,當一個變量是局部變量(不包括類級別的變量),並且在聲明的時候初始化,是使用var關鍵字的前提。具體什麼時候使用,什麼時候不使用,以下是個人淺見。
1、聲明匿名函數時使用var關鍵字
var temp = new {Name="", Category=""};
2、LINQ投影出匿名函數結果時使用var關鍵字
var temp = from p in productswhere p.Name =="sth"select new {p.Name, p.Category};
3、 類型很明確時使用var關鍵字
var string = "" ;var result = new List<Product>();
以上,可以很明顯從等號右邊推斷出類型,可以考慮使用var關鍵字。
4、類型不明確時慎用var關鍵字
var result = ProductRepository.GetProducts();
以上,如果使用var關鍵字,在可讀性上就差了一點。