2

在 C# 中重命名高阶列表操作的基本原理是什么?(例如:map-> Selectfilter-> Wherefold-> Aggregate

4

4 回答 4

5

LINQ 试图让了解 SQL 的人大致熟悉,在哪里选择投影。当然,您可以编写自己的扩展方法,并使用适合的名称。

于 2010-09-26T17:05:38.813 回答
5

关于元问题...

函数式编程社区和主流命令式编程社区在很长一段时间内几乎是相互隔离的。结果,存在根本的词汇差异;例如,像“多态性”这样的常用术语对每个组意味着完全不同的事物(参数多态性,对于 FP-ers 而言,又称为“泛型”或“模板”;与其余的亚型多态性相比)。

询问名称背后的理由(如果有的话)通常会得到一个简单的答案——你根据“当地文化”来命名东西。在 C# 中,LINQ 是一种类似于 SQL 的查询语言,因此它看起来很像 SQL。

但是问这个问题大致类似于去西班牙并问每个人称他的房子为“mi casa”的理由是什么。(“你是什么意思我为什么这么叫它?就是这么叫的!你的意思是你叫它不同的东西?”)

于 2010-09-26T17:42:32.050 回答
2

不是答案,但值得一提:

请参阅http://blogs.msdn.com/b/jaredpar/archive/2008/12/02/mapping-linq-to-f.aspxEnumerable了解 LINQ(如 C#/ 中)和 F#Seq函数之间的“解码器环”转换(主要遵循更传统的功能名称)。

于 2010-09-26T17:21:28.167 回答
1

好吧,IMO,“折叠”是“聚合”的一个非常糟糕的名字。疯狂的数学人。:) 大多数情况下,尽管 C# 名称更符合 SQL/LINQ。

于 2010-09-26T16:41:08.407 回答