哪个.NET库具有写时复制集合?
我正在寻找在C#程序中使用的.NET copy-on-write集合,例如List,Dictionary等。哪些集合具有该属性?
包括参考FSharp.Core
。 然后你可以访问多种不可变的集合( Set
, List
, Map
等)
它们位于Microsoft.FSharp.Collections
。
例:
var map = MapModule.Empty(); var newMap = map.Add("key", 1);
您可能想要定义一些扩展方法,以便可以直接在map
上调用。
更新: BCL团队正在研究另一个答案中提到的不可变集合,这使得这部分过时了。 仍然可以使用F#集合,但BCL集合对它们有更多的C#感觉。
直接链接到Nuget包: Immutable Collections
.NET刚刚发布了他们的第一个写时复制集合 ,我建议你试试。