1.介绍
语言集成查询(LINQ)是一组技术的名称,
这些技术建立在将查询功能直接集成到C#语言以及 Visual Basic 和可能的任何其他.NET 语言的基础上。
借助于 LINQ,查询现在已是高级语言构造,就如同类、方法、事件等。对于编写查询的开发人员来说,
LINQ 最明显的“语言集成”部分是查询表达式。查询表达式是使用 C#3.0 中引入的声明性查询语法编写的。
通过使用查询语法,甚至可以使用最少的代码对数据源执行复杂的筛选、排序和分组操作。
使用相同的基本查询表达式模式来查询和转换 SQL 数据库、ADO.NET 数据集、XML 文档和流以及.NET 集合中的数据。
LINQ 查询时有两种语法可供选择:方法语法(Fluent Syntax)和查询语法(Query Expression)。
2.Linq 方法语法
static void Main(string[] args)
{
string[] names = { "Tom", "Dick", "Harry", "Mary", "Jay" };
IEnumerable<string> query = names
.Where(n => n.Contains("a"))
.OrderBy(n => n.Length)
.Select(n => n.ToUpper());
foreach (string name in query) Console.WriteLine(name);
} // Result: JAY MARY HARRY
3.Linq查询语法
static void Main()
{
int[] numbers = { 5, 10, 8, 3, 6, 12};
//Query syntax:
IEnumerable<int> numQuery1 =
from num in numbers
where num % 2 == 0
orderby num
select num;
//Method syntax:
IEnumerable<int> numQuery2 = numbers.Where(num => num % 2 == 0).OrderBy(n => n);
foreach (int i in numQuery1)
{
Console.Write(i + " ");
}
Console.WriteLine(System.Environment.NewLine);
foreach (int i in numQuery2)
{
Console.Write(i + " ");
}
// Keep the console open in debug mode.
Console.WriteLine(System.Environment.NewLine);
Console.WriteLine("Press any key to exit");
Console.ReadKey();
}