Я ищу коллекции .NET copy-on-write для использования в программах на С#, таких как List, Dictionary и т.д. Какие коллекции имеют это свойство?
В какой библиотеке .NET есть коллекции copy-on-write?
Ответ 1
Включить ссылку FSharp.Core
. И тогда у вас есть доступ к множеству коллекций, которые неизменны (Set
, List
, Map
и т.д.)
Они расположены в Microsoft.FSharp.Collections
.
Пример:
var map = MapModule.Empty<string, int>();
var newMap = map.Add("key", 1);
Вероятно, вы хотите определить некоторые методы расширения, чтобы вы могли напрямую звонить на Map
.
Обновление: Команда BCL работает над неизменными коллекциями, как указано в другом ответе, что делает это отчасти устаревшим. Коллекции F # все еще могут быть использованы, но коллекции BCL имеют больше С# для них.
Прямая ссылка на пакет Nuget: Неизменяемые коллекции
Ответ 2
.NET только что отправил свои первые коллекции для копирования на запись, которые я предлагаю вам попробовать.