Linq中=>运算符

来源:互联网 发布:资产证券化2017知乎 编辑:程序博客网 时间:2024/06/03 13:29

=> 标记称作 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);
原创粉丝点击