我发现在.Net里有一堆.Net
F#是一种专注于不可变的语言,它有自己的不可变数据类型。有趣的是,我在F#上的任何阅读中都没有看到上面提到的不可变集合。
我想知道这些不变的集合和F#集合之间有什么关系吗?有什么指南可以使用吗?还有什么更好,F#,Map<_,_>或ImmutableDictionary(TKey, TValue)等等?
更新,也许我可以这样问:是否有人在同一个项目中使用过这两个库,或者比较过它们的效率?或者就是这样--首先是C#,后者是F#,就这样?
发布于 2014-01-15 14:12:40
造成这种复制的原因很简单,因为System.Collections.Immutable是最近添加的,并且是打算在C#中使用的,因此它的设计者不希望人们不得不引用FSharp.Core.dll,这是可以理解的。
至于两者之间的选择,我将在C#代码中使用System.Collections.Immutable,在打算从C#中使用的F#代码中使用Microsoft.FSharp.Collections,在所有其他F#代码中使用Microsoft.FSharp.Collections。AFAIK在性能方面没有显着性差异。典型的代码看起来像带有S.C.I的链式方法调用,以及使用M.F.C的一系列|>调用,但这只是语法上的区别--从概念上讲,这是一回事。
https://stackoverflow.com/questions/21136344
复制相似问题