是否存在具有持久不可变Vector类的.net库(如Clojure/Scala中所示)?

Ale*_*led 5 .net c# collections functional-programming clojure

我花了一个小时的谷歌搜索,并可以找到各种.NET不可变列表,集和地图.我虽然无法找到持久的不可变Vector.

像Scala的不可变向量之类的东西就是我所追求的(我相信它在Clojure中类似).它必须可以从C#库中调用.

Microsoft-land中是否存在这样的事情?

Ido*_*Ran 2

您可以查看ClojureCLR 实现。它是 Clojure 语言在 CLR/DLR 执行引擎之上的实现。我想您不能简单地将代码复制并粘贴到您的项目中,但只需很少的工作就可以提取特定的持久数据结构。查看 Clojure\Clojure\Lib 内部的实现,例如 PersistentVector.cs

我愿意。