📜  LINQ |查询语法

📅  最后修改于: 2021-05-29 22:49:08             🧑  作者: Mango

LINQ查询语法由.NET Framework 3.5或更高版本中定义的一组查询关键字组成。这使程序员或开发人员无需使用引号即可在代码(C#或VB.NET)中编写类似于SQL样式的命令。也称为查询表达式语法。在LINQ中,可以使用以下方式将查询写入IEnumerable集合或IQueryable数据源:

  1. 查询语法
  2. 方法语法

在这里,我们将仅讨论查询语法。

查询语法

LINQ查询语法以from关键字开头,以SelectGroupBy关键字结尾。在from关键字之后,您可以根据需要使用不同类型的标准查询操作,例如过滤,分组等。在LINQ中,可以使用50种不同类型的标准查询运算符。

在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:现在使用查询关键字(例如select,from等)创建查询。例如:
    var res = from l in my_list
                  where l.Contains("my")
                  select l;
    

    res是存储查询表达式结果的查询变量。 from子句用于指定数据源,即my_list ,where子句应用过滤器,即l.Contains(“ my”),select子句提供返回项的类型。 l是范围变量。

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

例子:

// Create first Query in C#
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
        var res = from l in my_list
                  where l.Contains("my")
                  select l;
  
        // Executing LINQ Query
        foreach(var q in res)
        {
            Console.WriteLine(q);
        }
    }
}

输出:

This is my Dog
Name of my Dog is Robin
This is my Cat