類型推斷出現在許多地方在C#中,至少有以下幾點:
- 的
var
關鍵字,它告訴編譯器從推斷(推斷)的正確類型的變量是什麼你 初始化
- 離開類型參數出一個通用的方法調用的,只要它們可以從參數推導出的能力
- 從λ表達式參數漏下的類型,只要它們可以推斷
的能力
並回答您的問題:
1)它採用所謂的「LINQ方法」尤其是在節省了大量的打字。比較例如
List<string> myList = new List<string>();
// ...
IEnumerable<string> result = myList.Where<string>((string s) => s.Length > 0)
.Select<string, string>((string s) => s.ToLower());
與
var myList = new List<string>();
// ...
var result = myList.Where(s => s.Length > 0).Select(s => s.ToLower());
2)我不知道你所說的「相關性」的意思,但沒有var
關鍵字,你不能有變量引用匿名類型的類型安全的方式(您始終可以使用object
或dynamic
),這在使用匿名類型時非常重要。
3)據我所知,沒有什麼。這只是一個便利功能。例如,它的缺席會使上述匿名類型的用處不大,但它們大多也是一種便利功能。
4)我認爲3)也回答了這個問題。
這是一個很胖的問題。 – spender 2011-02-03 01:32:33