语句拉姆达
时间: 2023-07-04 11:29:04 浏览: 98
在C#中,除了Lambda表达式,还有一种语法叫做语句Lambda(Statement Lambda)。语句Lambda与Lambda表达式的区别在于,它可以包含多条语句,而不仅仅是一个表达式。
语句Lambda的语法如下:
(parameter_list) => { statement_block }
其中,parameter_list表示参数列表,可以有多个参数,也可以没有参数;花括号({ })中是语句块,可以包含多条语句。
例如,下面是一个语句Lambda的例子:
```csharp
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
List<int> evenNumbers = numbers.Where(n => {
if (n % 2 == 0) {
Console.WriteLine(n + " is even.");
return true;
} else {
return false;
}
}).ToList();
```
上面的代码中,使用语句Lambda筛选出了列表中的偶数。其中,`n => { ... }`表示一个语句Lambda,它的参数是n,花括号中是多条语句。`numbers.Where`是LINQ语句中的一个方法,用于筛选符合条件的元素并返回一个新的列表。筛选条件是语句Lambda的返回值,即是否为偶数。在语句块中,如果n是偶数,就会输出一条信息并返回true,否则返回false。最终的结果是evenNumbers包含2和4这两个元素,并输出了相应的信息。
阅读全文