📅  最后修改于: 2021-01-06 05:07:19             🧑  作者: Mango
在LINQ中,Lambda Expression是一个没有名称的函数。它使语法简短明了。尽管lambda表达式不像LINQ查询那样可读,但它与LINQ查询同等重要,并且在内部转换为lambda。当我们将lambda表达式用作表达式时,其范围受到限制。 Lambda表达式以后不能使用。
在LINQ中定义lambda表达式的语法为:
(Input Parameter) => Method Expression
Lambda Expression是动态的,并在编译时确定类型。在上面左侧的lambda表达式中,我们有一个方括号(),其中包含输入参数。
参数的名称可以是任意值,并且在此参数(=>)之前等于(=),后跟一个大于(>)符号,该符号用于从左到右发送或传递参数,并在在右侧,我们将使用从左侧参数传递来的输入参数执行操作。
整个语法形成一个Lambda表达式。
在这里,我们以一个常用的Expression为例:
X => x + 10
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
//list to store the countries type of string
List countries = new List();
countries.Add("India");
countries.Add("US");
countries.Add("Australia");
countries.Add("Russia");
//use lambda expression to show the list of the countries
IEnumerable result = countries.Select(x => x);
//foreach loop to display the countries
foreach (var item in the result)
{
Console.WriteLine(item);
}
Console.ReadLine();
}
}
}
现在运行该应用程序,它将显示国家列表,如下面控制台窗口中的输出所示。
输出量
在上面的示例中,我们使用国家名称创建了一个列表对象(国家) ,并且使用lambda表达式从列表对象(国家)中选择国家。
在这里,“选择”是我们用来从列表中选择的属性。 X是输入参数,位于表达式的左侧,后跟=>运算符。在表达式的右侧,我们有相同的输入参数表示,我们希望在不执行任何操作的情况下显示该参数。我们没有在上面指定任何条件。