在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