更新:2007 年 11 月

=> 标记称作 lambda 运算符。该标记在 lambda 表达式中用来将左侧的输入变量与右侧的 lambda 体分离。Lambda 表达式是与匿名方法类似的内联表达式,但更加灵活;在以方法语法表示的 LINQ 查询中广泛使用了 Lambda 表达式。有关更多信息,请参见 Lambda 表达式(C# 编程指南)

 复制代码
  string[] words = { "cherry", "apple", "blueberry" };
  int shortestWord = words.Min(w => w.Length);

备注

=> 运算符可解读为“goes to”。在上一示例中,该表达式可解读为“Min w goes to w dot Length”。

=> 运算符具有与赋值运算符 (=>) 相同的优先级,并且是右结合运算符。

可以显式指定输入变量的类型或让编译器进行推断;在任一情况下,此变量在编译时都是强类型的。当指定类型时,必须用括号将类型名称和变量名括起,如以下示例所示:

 复制代码
int shortestWord = words.Min((string w) => w.Length);

用括号将多个输入变量括起,如本主题稍后的示例所示。

示例

下面的示例演示如何使用两个输入变量为标准查询运算符 Enumerable..::.Where 编写 lambda 表达式。此表达式将返回其长度小于其在数组中的索引位置的所有字符串。

 复制代码
  string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
  var shortDigits = digits.Where((digit, index) => digit.Length < index);

请参见