這裏有兩個C#類...這個LINQ查詢做了什麼?
public class Address
{
public string Country;
public string City;
}
public class Traveller
{
public string Name;
public List<Address> TravelRoute;
}
...和數據(的地方填寫)列表...
List<Traveller> Travellers;
...然後這個LINQ查詢:
var result = from t in Travellers
where t.TravelRoute.Any(a => a.Country == "F")
select t;
foreach (var t in result)
System.Console.WriteLine(t.Name);
我不明白查詢:什麼意思是「任何」功能和「=>」運算符是做什麼的?
有人能解釋我在這段代碼中發生了什麼嗎?謝謝!
那麼,這是否意味着這個「lambda表達式」僅僅是另一個「嵌套」LINQ查詢的縮寫?只有寫代碼更緊湊的東西? – Slauma 2010-02-10 20:43:39
Lambda表達式也稱爲內聯表達式,通常是爲一次性函數編寫的,通常更緊湊。您不必爲參數指定類型,因爲它會推導出它。我想說的是,你可以用一個嵌套的LINQ代替它,但是我不知道LINQ足以說寫我在另一個LINQ中編寫的LINQ將會像這樣工作。 – 2010-02-10 21:24:11
更準確地說,lambda表達式也可以轉換爲LINQ提供程序用來轉換爲其他代碼片段(如SQL表達式)的表達式樹。 – 2010-02-11 08:25:01