LINQ查询语法由.NET Framework 3.5或更高版本中定义的一组查询关键字组成。这使程序员或开发人员无需使用引号即可在代码(C#或VB.NET)中编写类似于SQL样式的命令。也称为查询表达式语法。在LINQ中,可以使用以下方式将查询写入IEnumerable集合或IQueryable数据源:
- 查询语法
- 方法语法
在这里,我们将仅讨论查询语法。
查询语法
LINQ查询语法以from关键字开头,以Select或GroupBy关键字结尾。在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