了解LINQ [关闭]


189

总览

LINQ是我在这个网站上问过很多的问题之一。我提出的问题涉及面很广,而且种类繁多,而且往往没有太多的背景信息。因此,为了巩固我在Linq上获得的知识,我在发布此问题,以期在我继续学习LINQ时使用其他信息来维护和更新它。

我也希望它对其他想了解LINQ的人来说是有用的资源。

什么是LINQ?

MSDN

LINQ项目是.NET Framework扩展集的代号,该扩展集包含语言集成的查询,设置和转换操作。它使用查询的本机语言语法扩展了C#和Visual Basic,并提供了类库以利用这些功能。

这意味着LINQ提供了一种使用通用语法查询各种数据源的标准方法。

LINQ有哪些口味?

当前,Microsoft提供了一些不同的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的棘手方法


+1是一篇不错的文章,并引用了ScottGu的博客。这是一个很好的资源,也是我最初学习LINQ的地方。
Evan Plaice 2010年

迷上LINQ去了一些日本网站。谷歌翻译谈论有关轮辋和其他nsfw的东西。:SI由于某些原因无法编辑它。
Shane

Answers:




4

获得《Linq in Action》一书,对于一本编码书籍而言,它是一本易读的书,并且真正地教会您如何使用Linq和.NET 3.5的新功能,以及它们为该语言所添加的一些很酷的部分。





3

我认为,答案是“ LINQ有哪些口味?” 不完整。首先,您可以创建自己的“风味”。是的,这是一项高级任务,但是现在有许多不同的LINQ实现。

这是Charlie Calvert的博客上现有LINQ提供程序的列表(以及更多有关学习LINQ的资源):链接到LINQ

此外,Matt Warren还撰写了一系列精彩的博客文章,介绍如何创建自己的LINQ提供程序:LINQ:构建IQueryable提供程序系列


2

我的2分钱,请阅读“ C#深度”书中的“ 11查询表达式和对象的LINQ”和“集合之外的12 LINQ”一章,以了解LINQ的工作原理。


0

对于Linq实践

如果您想通过练习和答案在LINQ上进行一些练习,那么真的很容易设置,而且我认为很棒:

https://github.com/walkhard/linq-exercises

从git下载,在Visual Studio中打开。您的工作是使测试通过。

[公开:我从中学到了一些linq,并为该项目做出了贡献,是的,我认为这是一种很棒,快速而有效的学习方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.