哪个.NET库具有写时复制集合?

时间:2011-12-08 05:47:31

标签: c# .net

我正在搜索要在C#程序中使用的.NET copy-on-write集合,例如List,Dictionary等。哪些集合具有该属性?

2 个答案:

答案 0 :(得分:17)

包含参考FSharp.Core。然后您可以访问多种不可变的集合(SetListMap等。)

这些位于Microsoft.FSharp.Collections

示例:

var map = MapModule.Empty<string, int>();
var newMap = map.Add("key", 1);

您可能希望定义一些扩展方法,以便直接在map上调用。

更新: BCL团队正在研究other answer中提到的不可变集合,这使得这部分过时了。仍然可以使用F#集合,但BCL集合对它们有更多的C#感觉。

直接链接到Nuget包:Immutable Collections

答案 1 :(得分:9)

.NET刚发布了他们的第一个copy-on-write collections,我建议你试试。