LINQ Lambda表达式语法

在LINQ中, Lambda Expression是一个没有名称的函数。它使语法简短明了。尽管lambda表达式不像LINQ查询那样可读, 但它与LINQ查询同等重要, 并且在内部转换为lambda。当我们将lambda表达式用作表达式时, 其范围受到限制。 Lambda表达式以后不能使用。

在LINQ中定义lambda表达式的语法为:

(Input Parameter) => Method Expression

Lambda Expression是动态的, 并在编译时确定类型。在上面左侧的lambda表达式中, 我们有一个方括号(), 其中包含输入参数。

参数的名称可以是任意值, 并且在此参数(=>)之前等于(=), 后跟一个大于(>)符号, 该符号用于从左向右发送或传递参数, 并在在右侧, 我们将使用从左侧参数传递来的输入参数执行操作。

整个语法形成一个Lambda表达式。

在这里, 我们以一个常用的Expression为例:

X => x + 10

在此, x是一个输入参数, 后跟=>运算符, 在该运算符旁边, 有一个表达式, 将数字10加到输入变量(x)上。现在, 输出会将数字10递增到x变量, 这是表达式左侧的输入参数。

C#中的LINQ Lambda表达式示例

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<string> countries = new List<string>();

            countries.Add("India");

            countries.Add("US");

            countries.Add("Australia");

            countries.Add("Russia");
    //use lambda expression to show the list of the countries
            IEnumerable<string> result = countries.Select(x => x);
    //foreach loop to display the countries
            foreach (var item in the result) 

            {

                Console.WriteLine(item);

            }

            Console.ReadLine();
        }
    }
}

现在运行该应用程序, 它将显示国家列表, 如下面控制台窗口中的输出所示。

输出

LINQ Lambda表达式语法

在上面的示例中, 我们使用国家名称创建了一个列表对象(国家), 并且使用lambda表达式从列表对象(国家)中选择国家。

在这里, “选择”是我们用来从列表中选择的属性。 X是输入参数, 位于表达式的左侧, 后跟=>运算符。在表达式的右侧, 我们有相同的输入参数表示, 我们希望在不执行任何操作的情况下显示该参数。我们没有对此指定任何条件。


微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?