LINQ 入门

发布于:2025-08-07 ⋅ 阅读:(13) ⋅ 点赞:(0)

0-头图

参考资料

💡 建议

  • 内容建议完整学习;
  • 内容可以根据需要学习。

基本概念

查询

一种从数据源检索数据的表达式。不同的数据源具有不同的原生查询语言,例如,用于关系型数据库的 SQL 和用于 XML 的 XQuery。

💡 TIP

查询指定要从数据源中检索的信息;查询还可以指定在返回这些信息之前如何对其进行排序、分组和结构化。

LINQ(音同 “link”)

一系列直接将查询功能集成到 C# 语言的技术统称。

📝 NOTE

开发人员对于他们必须支持的每种数据源或数据格式,都必须学习一种新的查询语言LINQ 通过为各种数据源和数据格式提供一致的 C# 语言模型,简化了这一情况。在 LINQ 查询中,你始终使用 C# 对象。当有 LINQ 提供程序可用时,你可以使用相同的基本编码模式来查询和转换 XML 文档、SQL 数据库、.NET 集合中的数据以及任何其他格式的数据。

可查询类型

支持 IEnumerable<T> 或其派生接口(如泛型接口 IQueryable<T>)的类型。

✡️ 重要

可查询类型不需要进行修改或特殊处理就可以用作 LINQ 数据源。如果源数据还没有作为可查询类型出现在内存中,则 LINQ 提供程序必须以此方式表示源数据。

查询表达式

以查询语法表示的查询。查询表达式是一等语言构造。如同其他的表达式一样,可以在 C# 表达式有效的任何上下文中使用。查询表达式由一组用类似于 SQL 或 XQuery 的声明性语法所编写的子句组成。每个子句依次包含一个或多个 C# 表达式,而这些表达式可能本身就是查询表达式,或者包含查询表达式。

📝 NOTE

对于编写查询的开发者来说,LINQ 最明显的“语言集成”部分就是查询表达式。

查询变量

在 LINQ 中,查询变量是存储 查询 而不是 查询结果 的任何变量。

✡️ 重要

在 LINQ 中,查询的执行不同于查询本身。 换句话说,你不会通过创建查询变量来检索任何数据。

📝 NOTE

查询变量始终是可枚举类型,在 foreach 语句或对其 IEnumerator.MoveNext() 方法的直接调用中循环访问时会生成元素序列。

LINQ to objects

指将 LINQ 查询直接用于任何 IEnumerableIEnumerable<T> 集合。你可以使用 LINQ 来查询任何可枚举的集合,例如 List<T>ArrayDictionary<TKey,TValue>。该集合可以是用户定义的集合,也可以是由 .NET API 返回的类型。而采用 LINQ 方法,只需编写描述要检索的内容的声明性代码。


下一篇


网站公告

今日签到

点亮在社区的每一天
去签到