这些天有很多关于单子的讨论。我已经读了一些文章/博客文章,但我不能足够深入地了解他们的例子,以完全掌握这个概念。原因是单子是一个函数式语言的概念,因此这些例子使用的是我没有使用过的语言(因为我没有深入使用过函数式语言)。我不能完全理解文章的语法……但我能看出其中有值得理解的地方。
但是,我非常了解c#,包括lambda表达式和其他函数特性。我知道c#只有一个功能特性的子集,所以可能单子不能在c#中表达。
然而,是否有可能传达这个概念呢?至少我希望如此。也许你可以给出一个c#示例作为基础,然后描述c#开发人员可以从那里做什么,但不能因为语言缺乏函数式编程特性。这太棒了,因为它传达了单子的意图和好处。这是我的问题:你能给c# 3开发人员的单子最好的解释是什么?
谢谢!
(编辑:顺便说一下,我知道至少有3个“什么是单子”的问题已经在SO。然而,我也面临着同样的问题…所以这个问题在我看来是有必要的,因为c#开发者的关注点。谢谢。)