📜  LINQ |方法语法

📅  最后修改于: 2021-05-29 17:30:35             🧑  作者: Mango

在LINQ中,方法语法用于调用Enumerable或Queryable静态类的扩展方法。也称为“方法扩展语法”或“ Fluent” 。但是,编译器始终在编译时将查询语法转换为方法语法。它可以调用标准查询运算符,例如Select,Where,GroupBy,Join,Max等。您可以直接调用它们而无需使用查询语法。

在C#中使用方法语法创建第一个LINQ查询

  • 步骤1:首先在代码中添加System.Linq命名空间。
    using System.Linq;
  • 步骤2:接下来,创建要在其上执行操作的数据源。例如:
    List my_list = new List(){
            "This is my Dog",
            "Name of my Dog is Robin",
            "This is my Cat",
            "Name of the cat is Mewmew"
        };
    
  • 步骤3:现在使用Enumerable或Queryable静态类提供的方法创建查询。例如:
    var res = my_list.Where(a=> a.Contains("Dog"));
    

    res是存储查询表达式结果的查询变量。在这里,我们找到了其中包含“ Dog”的字符串。因此,我们使用Where()方法根据该方法中给出的lambda表达式(即a => a.Contains(“ Dog”))过滤数据源。

  • 步骤4:最后一步是使用foreach循环执行查询。例如:
    foreach(var q in res)
    {
             Console.WriteLine(q);
    }
    

例子:

// Create the first Query in C# using Method Syntax
using System;
using System.Linq;
using System.Collections.Generic;
  
class GFG {
  
    // Main Method
    static public void Main()
    {
  
        // Data source
        List my_list = new List() {
                "This is my Dog",
                "Name of my Dog is Robin",
                "This is my Cat",
                "Name of the cat is Mewmew"
        };
  
        // Creating LINQ Query
        // Using Method syntax
        var res = my_list.Where(a => a.Contains("Dog"));
  
        // Executing LINQ Query
        foreach(var q in res)
        {
            Console.WriteLine(q);
        }
    }
}
输出:
This is my Dog
Name of my Dog is Robin