System.Collections.Immutable Пространство имен
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Содержит интерфейсы и классы, которые определяют неизменяемые коллекции.
Классы
ImmutableArray |
Содержит методы для создания неизменяемого массива (это означает, что изменить его после создания невозможно). Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableArray<T>.Builder |
Записываемый метод доступа к массиву, который можно преобразовать в экземпляр ImmutableArray<T> без выделения дополнительной памяти. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableDictionary |
Содержит набор методов инициализации для экземпляров класса ImmutableDictionary<TKey,TValue>. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableDictionary<TKey,TValue>.Builder |
Представляет хэш-карту, для изменения которой не требуется выделение памяти (или выделяется небольшой объем) и с помощью которой можно эффективно создавать или конструировать экземпляры неизменяемых хэш-карт. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableDictionary<TKey,TValue> |
Представляет неизменяемую неупорядоченную коллекцию ключей и значений. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableHashSet |
Содержит набор методов инициализации для экземпляров класса ImmutableHashSet<T>. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableHashSet<T>.Builder |
Представляет набор хэширования, для изменения которого не требуется выделение памяти (или выделяется небольшой объем) и с помощью которого можно эффективно создавать или конструировать экземпляры неизменяемых наборов хэширования. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableHashSet<T> |
Представляет неизменяемый неупорядоченный набор хэширования. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableInterlocked |
Содержит механизмы обмена с взаимоблокировкой для неизменяемых коллекций. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableList |
Содержит набор методов инициализации для экземпляров класса ImmutableList<T>. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableList<T>.Builder |
Представляет список, для изменения которого не требуется выделение памяти (или выделяется небольшой объем) и с помощью которого можно эффективно создавать или конструировать экземпляры неизменяемых списков. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableList<T> |
Представляет строго типизированный неизменяемый список объектов, доступных по индексу. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableQueue |
Содержит набор методов инициализации для экземпляров класса ImmutableQueue<T>. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableQueue<T> |
Представляет неизменяемую очередь. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableSortedDictionary |
Содержит набор методов инициализации для экземпляров класса ImmutableSortedDictionary<TKey,TValue>. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableSortedDictionary<TKey,TValue>.Builder |
Представляет отсортированный словарь, для изменения которого не требуется выделение памяти (или выделяется небольшой объем) и с помощью которого можно эффективно создавать или конструировать экземпляры неизменяемых отсортированных словарей. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableSortedDictionary<TKey,TValue> |
Представляет неизменяемый отсортированный словарь. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableSortedSet |
Содержит набор методов инициализации для экземпляров класса ImmutableSortedSet<T>. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableSortedSet<T>.Builder |
Представляет отсортированный набор, для изменения которого не требуется выделение памяти (или выделяется небольшой объем) и с помощью которого можно эффективно выполнять операции с неизменяемыми отсортированными наборами или создавать их. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableSortedSet<T> |
Представляет реализацию неизменяемого отсортированного набора. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableStack |
Содержит набор методов инициализации для экземпляров класса ImmutableStack<T>. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
ImmutableStack<T> |
Представляет неизменяемый стек. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
Структуры
Интерфейсы
IImmutableDictionary<TKey,TValue> |
Представляет неизменяемую коллекцию пар "ключ-значение". Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
IImmutableList<T> |
Представляет список элементов, которые невозможно изменить. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
IImmutableQueue<T> |
Представляет неизменяемую коллекцию объектов, основанную на принципе ФИФО. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
IImmutableSet<T> |
Представляет набор элементов, которые можно изменить только путем создания нового экземпляра набора. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
IImmutableStack<T> |
Представляет неизменяемую коллекцию объектов, основанную на принципе ЛИФО. Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки) |
Комментарии
С ее помощью вы можете:
- Предоставление общего доступа к коллекции таким образом, чтобы ее потребитель был уверен, что коллекция никогда не меняется.
- обеспечивать безопасность потоков в многопотоковых приложениях (блокировки для доступа к коллекциям не требуются);
- следовать рекомендациям функционального программирования;
- изменять коллекцию во время перечисления, не изменяя исходную коллекцию.
Неизменяемые классы коллекций доступны как часть основных библиотек .NET, однако они не являются частью основной библиотеки классов, распространяемой с .NET Framework. Для приложений .NET Framework 4.6.2 и более поздних версий классы доступны в пакетах NuGet.