C# Lamda表达式
时间: 2023-12-08 14:37:27 浏览: 290
C# Lambda表达式是一种匿名函数,它可以快速创建简单的委托或表达式树。Lambda表达式通常用于替代匿名方法。Lambda表达式通常以箭头“=>”分隔左侧的输入和右侧的输出。Lambda表达式的语法如下:(parameter_list) => expression。其中,parameter_list是一个逗号分隔的参数列表,而expression是一个表达式,它定义了Lambda表达式的返回值。Lambda表达式可以用于各种场景,例如筛选、排序、转换等。
以下是一个Lambda表达式的例子,用于对一个整型数组进行筛选:
```csharp
int[] numbers = { 2, 3, 4, 5, 6 };
var evenNumbers = numbers.Where(x => x % 2 == 0);
foreach (var number in evenNumbers)
{
Console.WriteLine(number);
}
```
上述代码中,Lambda表达式x => x % 2 == 0定义了一个筛选条件,用于筛选出数组中的偶数。其中,x是参数,x % 2 == 0是表达式,表示当x除以2的余数为0时返回true,否则返回false。最终,筛选出的偶数会被存储在变量evenNumbers中,并通过foreach循环输出。
相关问题
c# lamda表达式
C# lambda表达式是一种匿名函数的简化形式,它可以用于创建委托对象或表达式树。lambda表达式可以在需要委托类型或表达式树的任何代码中使用,用于传递代码块或表达式。例如,在使用LINQ查询时,可以使用lambda表达式来指定查询的条件或操作。
下面是一个使用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);
}
```
在这个示例中,`x => x % 2 == 0`是一个lambda表达式,它用于在`Where`方法中指定筛选条件,只选择偶数。
C#set方法用lamda表达式
在C#中,我们可以使用Lambda表达式来定义属性的set方法。Lambda表达式是一种简洁的语法形式,用于定义匿名函数。
下面是一个示例,展示了如何使用Lambda表达式定义一个属性的set方法:
```csharp
private string _name;
public string Name
{
get => _name;
set => _name = value ?? throw new ArgumentNullException(nameof(value));
}
```
在上面的示例中,我们定义了一个私有字段 `_name` 和一个公共属性 `Name`。属性的set方法使用了Lambda表达式来定义。在这个Lambda表达式中,我们将传入的值 `value` 赋给私有字段 `_name`。此外,还使用了空合并运算符 `??` 和 `throw` 语句来验证传入的值是否为null。
请注意,Lambda表达式可以用于更复杂的逻辑,这只是一个简单的示例。你可以根据自己的需求编写更复杂的Lambda表达式来定义属性的set方法。
阅读全文