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

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

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

它们位于Microsoft.FSharp.Collections

例:

 var map = MapModule.Empty(); var newMap = map.Add("key", 1); 

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

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

直接链接到Nuget包: Immutable Collections

.NET刚刚发布了他们的第一个写时复制集合 ,我建议你试试。