65.9K
CodeProject 正在变化。 阅读更多。
Home

3 分钟理解 Lambda 表达式

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.88/5 (223投票s)

2011年12月14日

CPOL

1分钟阅读

viewsIcon

1111584

Lambda 表达式简短教程

引言

Lambda 表达式是一种匿名函数,主要用于在 LINQ 中创建委托。 简单来说,它是一种没有声明的方法,即没有访问修饰符、返回值声明和名称。

方便性。 它是简写,允许您在将要使用它的地方编写方法。 特别是在方法仅使用一次且方法定义很短的情况下,它非常有用。 它为您节省了在包含类中声明和编写单独方法的精力。

优点

Lambda 表达式应该简短。 复杂的定义会使调用代码难以阅读。

Lambda 基本定义:参数 => 执行代码

  1. 什么是 Lambda 表达式?
  2. 为什么我们需要 lambda 表达式?(为什么我们需要编写一个没有名称的方法?)
    1. 减少了输入量。 无需指定函数名称、其返回类型及其访问修饰符。
    2. 阅读代码时,您无需在其他地方查找方法的定义。
  3. 如何定义 lambda 表达式?

简单示例

n => n % 2 == 1 
  • n 是输入参数
  • n % 2 == 1 是表达式

您可以将 n => n % 2 == 1 读作:“名为 n 的输入参数传递给匿名函数,如果输入是奇数,则返回 true”。

相同的例子(现在执行 lambda)

List<int> numbers = new List<int>{11,37,52};
List<int> oddNumbers = numbers.where(n => n % 2 == 1).ToList();
//Now oddNumbers is equal to 11 and 37

好了,现在您已经了解了 Lambda 表达式的基础知识。

  • 由于范围有限,我没有提及表达式树/lambda 表达式的运行时优势。
© . All rights reserved.