📅  最后修改于: 2023-12-03 15:29:48.416000             🧑  作者: Mango
在C#中,lambda表达式是一个以=>
组成的匿名函数。它可以看做是一种简化代码的方式,能够快速地定义一个行为,并将其传递给另一个函数或方法。在本文中,我们将探讨C#中lambda表达式的语法和使用。
lambda表达式的一般形式如下:
(parameters) => expression
其中,parameters
是一个由逗号分隔的形式参数列表,expression
是一个可以返回结果值的表达式。
假设我们要编写一个函数以计算两数之和,使用lambda表达式的方式如下:
int sum = ((int x, int y) => x + y)(3, 5); // sum = 8
这个lambda表达式接受两个参数x
和y
,并返回它们的和。在上面的例子中,我们通过(3, 5)
传递了实际值,并将结果存储在变量sum
中。注意,我们还可以使用var
关键字来声明变量类型,这样我们就可以少写一些代码:
var sum = ((int x, int y) => x + y)(3, 5); // sum = 8
lambda表达式的主要用途是通过简化语法来创建委托,从而将其传递给其他方法或函数。
让我们来看一个例子,假设我们有一个List<int>
类型的列表,并且我们想要获取其中所有小于10的元素。这可以通过以下代码实现:
List<int> list = new List<int>() { 4, 8, 13, 6, 9, 5, 2 };
List<int> result = list.Where(x => x < 10).ToList();
在上面的代码中,我们使用了Where
方法来过滤列表中的元素,只保留小于10的元素。我们传递了一个lambda表达式作为参数x => x < 10
,这个表达式会在每个元素上执行,返回一个布尔值。在这个例子中,我们只保留返回true
的元素,并将它们存储在一个新的列表中。
在本文中,我们介绍了C#中的lambda表达式,并讨论了其语法和使用。lambda表达式是一种方便的创建匿名函数的方式,可以简化代码并提高代码的可读性。无论是在LINQ查询还是在其他地方使用,lambda表达式都是C#中不可或缺的一部分。