拉姆达表达式C#
时间: 2023-06-29 18:17:21 浏览: 132
Lambda表达式是C# 3.0中引入的一种新的语法,用于创建匿名方法。Lambda表达式可以在需要委托类型的任何地方使用,比如作为参数传递给方法或赋值给委托变量。
Lambda表达式的语法格式为:
```
(input-parameters) => expression
```
其中,`input-parameters` 指定了输入参数,可以是多个参数,也可以没有参数;`=>` 为Lambda运算符;`expression` 指定了Lambda表达式的执行体,可以是一个表达式或一个语句块。
以下是一个Lambda表达式的示例:
```csharp
Func<int, int> square = x => x * x;
Console.WriteLine(square(5)); // 输出25
```
上面的代码定义了一个委托类型为 `Func<int, int>` 的变量 `square`,它表示接受一个整数参数并返回一个整数结果的方法。Lambda表达式 `x => x * x` 表示一个将输入参数平方的匿名方法,将其赋值给 `square` 变量。最后,调用 `square(5)` 方法并输出结果为25。
Lambda表达式也可以用于LINQ查询中,例如:
```csharp
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumbers = numbers.Where(x => x % 2 == 0);
foreach (var number in evenNumbers)
{
Console.WriteLine(number);
}
```
上面的代码使用Lambda表达式 `x => x % 2 == 0` 来筛选出列表中的偶数,最后输出结果为2和4。
阅读全文