LINQ to Objects
术语“LINQ to Objects”是指直接对任意 IEnumerable 或 IEnumerable<T> 集合使用 LINQ 查询,无需使用中间 LINQ 提供程序或 API,如 LINQ to SQL 或 LINQ to XML。 可以使用 LINQ 来查询任何可枚举的集合,如 List<T>、Array 或 Dictionary<TKey, TValue>。 该集合可以是用户定义的集合,也可以是 .NET Framework API 返回的集合。
从根本上说,LINQ to Objects 表示一种新的处理集合的方法。 采用旧方法,您必须编写指定如何从集合检索数据的复杂的 foreach 循环。 而采用 LINQ 方法,您只需编写描述要检索的内容的声明性代码。
另外,与传统的 foreach 循环相比,LINQ 查询具有三大优势:
它们更简明、更易读,尤其在筛选多个条件时。
它们使用最少的应用程序代码提供强大的筛选、排序和分组功能。
无需修改或只需做很小的修改即可将它们移植到其他数据源。
通常,您要对数据执行的操作越复杂,就越能体会到 LINQ 相较于传统迭代技术的优势。
本节的目的是使用一些精选示例来演示 LINQ 方法, 而不打算详尽说明。
本节内容
如何:使用 LINQ 查询 ArrayList
演示如何使用 Visual Basic 和 C# 查询 ArrayList。LINQ 和字符串
说明如何使用 LINQ 来查询和转换字符串和字符串集合, 还包括演示这些原则的主题链接。LINQ 和文件目录
说明 LINQ 如何用于与文件系统进行交互, 还包括演示这些概念的主题链接。LINQ 和反射
演示 LINQ 如何使用反射的示例的链接。LINQ(语言集成查询)
提供说明 LINQ 并提供执行查询的代码示例的主题的链接。如何:为 LINQ 查询添加自定义方法
说明如何通过向 IEnumerable<T> 接口中添加扩展方法来扩展可用于 LINQ 查询的方法集。