在 C# 中,如何使用 Lambda 表达式作为参数传递?
时间: 2024-09-20 08:13:10 浏览: 59
在 C# 中,Lambda 表达式是一种简洁的方式,用于创建匿名函数或者直接作为参数传递给方法。它允许你快速定义并执行简单的操作,尤其适用于那些不需要命名的方法。以下是使用 Lambda 表达式作为参数的基本步骤:
1. **基本语法**:Lambda 表达式的结构通常是 `(参数列表) => 表达式` 或 `(参数列表) => { 语句块 }`。例如,如果我们有一个方法需要一个将两个整数相加的函数,我们可以这样做:
```csharp
int AddNumbers(int a, int b) {
return (a, b) => a + b;
}
// 使用 Lambda 表达式传递给方法
Func<int, int, int> addFunction = AddNumbers();
Console.WriteLine(addFunction(5, 3)); // 输出8
```
2. **无参数方法**:如果方法不需要参数,只有一条表达式,你可以省略参数列表。例如,计算数组长度:
```csharp
List<int> numbers = new List<int>();
int length = numbers.Count; // 这里 Count 是一个无参数的 Lambda 函数
```
3. **Lambda 行内使用**:有时候,你可以在一行代码中直接使用 Lambda 表达式,如 LINQ 操作符中:
```csharp
var evenNumbers = numbers.Where(n => n % 2 == 0); // 返回所有偶数
```
阅读全文