Seq模块包含与LINQ类似的功能有几个原因:
F#首先使用它:-)Seq F#中的模块在LINQ添加到C#之前很久就存在了.我猜C#团队可能已经决定只使用该Seq模块作为LINQ的实现,但不难看出为什么没有发生......
C#使用扩展方法,而F#使用函数 - 原则上,F#函数被编译为静态方法,因此不可能想象它们可以被标记为可从C#访问的扩展方法 - 但这并不简单.
F#函数是curry - 这很棘手 - 在C#中,this IEnumerable<T>参数通常是第一个,而在F#中它是最后一个(允许部分函数应用)
F#函数采用FSharpFunc或Func - 另一个技术差异 - F#函数编译方式不同(出于性能原因)
命名也不同.对于F#,这对于保持部分OCaml兼容性很重要.
| 归档时间: |
|
| 查看次数: |
223 次 |
| 最近记录: |