=> 运算符(C# 参考)
=> 标记称作 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);
MSDN上的lambda示例 |