我应该知道什么来更好地理解LINQ?

时间:2010-05-05 12:06:52

标签: c# .net linq

由于LINQ是dot net中的一种优秀查询语言,所以每个人都应该能够使用它。 在开始学习LINQ之前,程序员应该具备哪些必要的能力。

之后,他应该怎么了解LINQ? (重要提示)

5 个答案:

答案 0 :(得分:10)

你对什么样的Linq感兴趣 - Linq to Objects,Linq to SQL,实现你自己的Linq提供者?

我的建议是,您应该首先了解Linq所基于的功能:

  • IQueryable和IEnumerable扩展方法

  • 方法链接和延迟执行

  • 匿名方法和lambda表达式

  • Linq查询语法

  • 表达式树(如果您的目标是实现Linq提供程序)

然后这些功能依赖于更基本的概念:

  • 泛型

  • 代表

  • 集合

可以帮助你的几本书:

  • C#深度(J. Skeet) - 学习C#的好书
  • LINQ in Action(Marguerie,Eichert,Wooley)

答案 1 :(得分:2)

对Closures / Lambda,IEnumerable,Generics,Expression Trees和Method Chaining的正确理解将是一个良好的开端。 LINQ几乎只是一个基于它的实用程序集。

但是你绝对可以学习如何在没有充分了解所提到的每一个功能的情况下使用LINQ。

答案 2 :(得分:2)

如果你想理解LINQ背后的原理,那么学习函数式编程的一些基础非常有用,因为LINQ主要基于这种范式。当然,你不需要在实践中使用LINQ,但它可以帮助你理解封面下发生了什么(更不用说学习函数式编程据说可以让你成为一个更好的程序员)。

我写了一篇关于这个主题的概述文章,你可能会发现它很有用:

除了函数式编程之外,理解所有C#3.0功能真的很有帮助,最重要的是 lambda表达式扩展方法以及表达式树 。从技术上讲,LINQ只是这三个功能的巧妙组合,所以一旦你了解它们,你就可以完全欣赏并从LINQ中受益。

答案 3 :(得分:1)

101 LINQ样本真的帮助我更好地理解LINQ http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx?ppud=4

答案 4 :(得分:0)

有一系列视频(8,我相信)Scott Stanfield称之为“LINQ TO SQL”。它们对于理解概念以及如何使用LINQ非常有帮助。

Link Here

或者,试试谷歌:LINQ TO SQL + Scott Stanfield

我特别喜欢使用,但很少使用。总是很好的照顾......但它非常有用。观看视频并得出结论。

享受!