Lambda 運算式是類似匿名方法 (Anonymous Method) 的內嵌 (Inline) 運算式,但更有彈性。它會在以方法語法所表示的 LINQ 查詢中大量使用。
string[] words = { "cherry", "apple", "blueberry" };
int shortestWordLength = words.Min(w => w.Length);
Console.WriteLine(shortestWordLength);
=) 具有相同的優先順序,而且是右向關聯的。
指定型別時,必須以括弧括住型別名稱和變數名稱, 如下列範例所示:
int shortestWordLength = words.Min((string w) => w.Length);
括弧內可括住多個變數,如本主題後面的範例所示。
這個運算式會傳回所有長度小於陣列中之索引位置的字串。
string[] digits = { "zero", "one", "two", "three", "four", "five",
"six", "seven", "eight", "nine" };
var shortDigits = digits.Where((digit, index) => digit.Length < index);
foreach (var sD in shortDigits)
{
Console.WriteLine(sD);
}
// Output:
// five
// six
// seven
// eight
// nine