让我先声明一下,我对 Monad 的理解还很幼稚。我在这里阅读了关于 Monads 的各种主题,并对这个概念做了几个小时的研究。我对这个术语不太满意,但我认为可以肯定地说,我一般理解 Monad 是什么/做什么。
我是一名 C# 开发人员,希望改进我的工作方式。在我的 Monaducation 中进一步帮助我的是看到 Monad 在 C# 中的真实世界应用(即通过 linq SelectMany() 或类似的东西),这显然是对解决 oldskool C# 中同类问题的其他方法的改进。
有人见过这样的野兽吗?
最佳答案
这是一个这样的场景:你想编写一个解析库(嵌入式 DSL 的一个很好的例子),你发现最好的是 monadic 解析器组合器库。因此,您使用 LINQ 语法糖编写它来编写与您正在解析的语言的语法具有相同结构的 C# 代码,并且您可以获得用于即时语义分析和错误恢复的出色编程模型的好处.参见 this blog以获得描述。
关于c# - 在 C# 中使用 Monad 的引人注目的场景是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/866912/