LINQ to Objects (C#)

术语“LINQ to Objects”指直接将 LINQ 查询与任何 IEnumerableIEnumerable<T> 集合一起使用,而不使用中间 LINQ 提供程序或 API,例如 LINQ to SQLLINQ to XML。 可以使用 LINQ 来查询任何可枚举的集合,例如 List<T>ArrayDictionary<TKey,TValue>。 该集合可以是用户定义的集合,也可以是由 .NET API 返回的集合。

从根本上说,“LINQ to Objects”表示一种新的处理集合的方法。 采用旧方法,必须编写指定如何从集合检索数据的复杂的 foreach 循环。 而采用 LINQ 方法,只需编写描述要检索的内容的声明性代码。

此外,LINQ 查询与传统 foreach 循环相比具有三大优势:

  • 它们更简明、更易读,尤其在筛选多个条件时。

  • 它们使用最少的应用程序代码提供强大的筛选、排序和分组功能。

  • 无需修改或只需做很小的修改即可将它们移植到其他数据源。

通常,对数据执行的操作越复杂,就越能体会到 LINQ 相较于传统迭代技术的优势。

本节的目的是使用一些精选示例来演示 LINQ 方法。 并不打算详尽说明。

本节内容

LINQ 和字符串 (C#)
阐释如何使用 LINQ 来查询和转换字符串和字符串集合。 还包括指向演示这些原则的文章的链接。

LINQ 和反射 (C#)
指向演示 LINQ 如何使用反射的示例的链接。

LINQ 和文件目录 (C#)
阐释如何使用 LINQ 来与文件系统进行交互。 还包括指向演示这些概念的文章的链接。

如何使用 LINQ 查询 ArrayList (C#)
演示如何使用 C# 查询 ArrayList。

如何为 LINQ 查询添加自定义方法 (C#)
阐释如何通过向 IEnumerable<T> 接口中添加扩展方法来扩展可用于 LINQ 查询的方法集。

语言集成查询 (LINQ) (C#)
提供指向阐释 LINQ 并提供执行查询的代码示例的文章的链接。