C#Lambda和LINQ教程,适合经验丰富的函数式程序员

时间:2011-09-26 20:09:00

标签: c# linq functional-programming

我想学习C#(.NET 4)的“功能”部分。作为Haskell和Lisp程序员很长一段时间,我宁愿不要被基本概念的解释分散注意力。是否有书籍/教程我应该查看?

4 个答案:

答案 0 :(得分:3)

只需查看docs for the methods in System.Linq.Enumerable

这些方法是标准函数编程操作,名称略有不同(Select == MapWhere == FilterAggregate = {{1等等)

您还需要了解iterators;见Jon Skeet的excellent in-depth article

你应该已经理解了lambda表达式和闭包。

答案 1 :(得分:3)

在Linq here

上查看101个示例

答案 2 :(得分:2)

  

我想学习C#(.NET 4)的“功能”部分。作为Haskell和Lisp程序员很长一段时间,我宁愿不要被基本概念的解释分散注意力。是否有书籍/教程我应该查看?

是的,有一本专门为你准备的书!查看Real-World Functional Programming With Examples in F# and C#。非常好的书。

答案 3 :(得分:0)

我建议您阅读一些Bart De Smet的博客文章,以便更好地了解C#lambdas的理论方面以及它们如何与LINQ交互。他不会经常博客,但他有一些很有趣的帖子here的清单。我特别喜欢他在MinLINQ上的帖子。

如果你想跳进去,我会说在C#中使用解析器组合器查看许多教程中的一个,并构建自己的库(具有Haskell经验,我相信你会发现它很容易)。 This是最受欢迎的教程之一,但快速搜索显示更多。