总览
LINQ是我在这个网站上问过很多的问题之一。我提出的问题涉及面很广,而且种类繁多,而且往往没有太多的背景信息。因此,为了巩固我在Linq上获得的知识,我在发布此问题,以期在我继续学习LINQ时使用其他信息来维护和更新它。
我也希望它对其他想了解LINQ的人来说是有用的资源。
什么是LINQ?
从MSDN:
LINQ项目是.NET Framework扩展集的代号,该扩展集包含语言集成的查询,设置和转换操作。它使用查询的本机语言语法扩展了C#和Visual Basic,并提供了类库以利用这些功能。
这意味着LINQ提供了一种使用通用语法查询各种数据源的标准方法。
LINQ有哪些口味?
当前,Microsoft提供了一些不同的LINQ提供程序:
- Linq to Objects,使您可以对任何IEnumerable对象执行查询。
- Linq to SQL,它允许您以面向对象的方式对数据库执行查询。
- Linq to XML,使您可以查询,加载,验证,序列化和操作XML文档。
- 如Andrei建议的实体的Linq
- Linq到数据集
有什么好处?
- 查询多个数据源的标准化方法
- 编译查询的时间安全
- 在内存对象上执行基于集合的操作的优化方法
- 调试查询的能力
那我可以用LINQ做什么呢?
Chook提供了一种输出CSV文件的方法。
杰夫(Jeff)显示了如何从数组中删除重复项。
鲍勃(Bob)从数据表中获取了有序的列表。
马克思(Marxidad)显示了如何对数组进行排序。
达纳(Dana)获得了使用Linq实现快速排序的帮助。
从哪儿开始?
以下是GateKiller的问题的链接摘要:
Scott Guthrie 在他的博客中提供了Linq的简介。MSDN上
的LINQ概述
ChrisAnnODell建议您查看以下内容:
我需要使用LINQ吗?
Linq当前在VB.Net 9.0和C#3.0中可用,因此您需要Visual Studio 2008或更高版本才能获得全部好处。(您始终可以在记事本中编写代码并使用MSBuild进行编译)
还有一个名为LinqBridge的工具,它将允许您在C#2.0中像查询一样运行Linq。
使用LINQ的技巧和窍门
这个问题有一些使用LINQ的棘手方法