如果Bind是monad的基础,为什么我们不在Linq中使用更多的SelectMany?
(抱歉,想不出有什么用处可以添加到问题中)
答案 0 :(得分:5)
嗯,SelectMany
至关重要,因为许多其他事情可以以这种方式表达 - 但这并不意味着它始终是最简洁的表达方式。您可以将Select
,Where
等视为仅仅是方便的方法...但是所以方便我们通常不需要最灵活的形式。
举一个例子,Aggregate
可以执行您想要的所有聚合 - 但Max
,Count
等更为常见。
答案 1 :(得分:2)
请注意,每次在Linq查询中有两个from
时,您就会调用SelectMany
。