=> 运算符(C# 参考)

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

string[] words = { "cherry", "apple", "blueberry" };
int shortestWordLength = words.Min(w => w.Length);
Console.WriteLine(shortestWordLength);
// Output: 5

备注

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

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

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

int shortestWordLength = 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);
foreach (var sD in shortDigits)
{
    Console.WriteLine(sD);
}
// Output:
// five
// six
// seven
// eight
// nine

请参见

参考

Lambda 表达式(C# 编程指南)

概念

C# 编程指南

其他资源

C# 参考