📜  LINQ-概述(1)

📅  最后修改于: 2023-12-03 15:02:41.663000             🧑  作者: Mango

LINQ-概述

LINQ(Language Integrated Query,语言集成查询)是一种操作数据的方式,是一组基于 .NET Framework 的技术,用于从各种数据源中(如对象、XML、数据库等)查询数据。

语法

LINQ 查询的语法通常由以下组成:

  1. from 用于指定数据源
  2. where 用于筛选序列
  3. select 用于投影数据

例如,在一个整数列表中查询所有偶数:

var list = new List<int>{1,2,3,4,5,6,7,8,9,10};
var query = from x in list
            where x % 2 == 0
            select x;

foreach(var item in query)
{
    Console.WriteLine(item);
}
数据源

除了直接使用内存中的集合,LINQ 同样也支持其他多种数据源:

  1. 对象集合:List, Array, Dictionary等。
  2. 数据库:LINQ to SQL, LINQ to Entities等。
  3. XML:LINQ to XML等。
微软提供的查询操作符

除了经典的 SQL 风格的查询语法外,LINQ 同样也提供了一组标准查询运算符,包括:

  1. Where
  2. Select
  3. OrderBy/OrderByDescending
  4. ThenBy/ThenByDescending
  5. GroupBy
  6. Join/GroupJoin
  7. Union/Intersect/Except
  8. Aggregate

以 OrderBy/OrderByDescending 为例:

var list = new List<int>{3,8,1,5,7,6,9,2,4};
var query = from x in list
            orderby x descending
            select x;

foreach(var item in query)
{
    Console.WriteLine(item);
}
注意事项
  1. 当使用 IQueryable 查询数据库时,查询并没有立即执行。
  2. 某些 LINQ 查询操作符无法转换成 SQL 查询,因此可能会损失一定的性能。
结语

通过 LINQ 的查询语句,可以方便地筛选数据、排序数据、分组数据等等,使得程序员的工作更加高效,可读性更佳。