.NET的lambda表达式怎么用
时间: 2023-07-23 20:31:07 浏览: 45
在.NET中,Lambda表达式可以用于创建委托、LINQ查询和Expression树等。下面分别介绍它们的用法:
1. 创建委托
Lambda表达式可以用于创建委托,示例代码如下:
```csharp
Func<int, int, int> func = (x, y) => x + y;
int result = func(3, 4);
```
在上面的示例中,Lambda表达式`(x, y) => x + y`创建了一个接收两个int类型参数并返回它们的和的委托,然后将其赋值给变量`func`。在调用时,可以像调用普通函数一样传递参数,并将结果赋值给变量`result`。
2. LINQ查询
Lambda表达式可以用于创建LINQ查询,示例代码如下:
```csharp
var list = new List<int> { 1, 2, 3, 4, 5 };
var result = list.Where(x => x % 2 == 0);
```
在上面的示例中,Lambda表达式`x => x % 2 == 0`用于筛选出列表中的偶数。其中,`Where`方法是LINQ查询中的一个方法,它接收一个Lambda表达式作为参数,并返回一个新的集合,该集合包含符合条件的元素。
3. Expression树
Lambda表达式也可以用于创建Expression树,示例代码如下:
```csharp
Expression<Func<int, int, int>> expr = (x, y) => x + y;
var func = expr.Compile();
int result = func(3, 4);
```
在上面的示例中,Lambda表达式`(x, y) => x + y`创建了一个Expression树,它表示一个接收两个int类型参数并返回它们的和的函数。然后,将其编译成委托并将委托赋值给变量`func`。在调用时,可以像调用普通函数一样传递参数,并将结果赋值给变量`result`。