让我先说明我对Monads有一种幼稚的理解.我已经阅读了Monads上的各种主题,并对这个概念进行了几个小时的研究.我对这个术语感到很不舒服,但我认为可以说我通常理解Monad是什么/做什么.
我是一名C#开发人员,希望改进我的工作方式.在我的Monaducation中进一步帮助我的是在C#中看到Monad的真实世界应用(即通过linq SelectMany(或其他),这显然比在oldskool C#中解决同类问题的其他方法有所改进.
有没有人见过这样的野兽?
找到毕达哥拉斯三重奏:
var r = from a in Enumerable.Range(1, 25)
from b in Enumerable.Range(a, 25-a)
from c in Enumerable.Range(b, 25-b)
where a*a + b*b == c*c
select new [] { a, b, c };
Run Code Online (Sandbox Code Playgroud)