ConcurrentDictionary<TKey,TValue> Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса ConcurrentDictionary<TKey,TValue>.
Перегрузки
| Имя | Описание |
|---|---|
| ConcurrentDictionary<TKey,TValue>() |
Инициализирует новый экземпляр ConcurrentDictionary<TKey,TValue> класса, который является пустым, имеет уровень параллелизма по умолчанию, имеет начальную емкость по умолчанию и использует средство сравнения по умолчанию для типа ключа. |
| ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) |
Инициализирует новый экземпляр ConcurrentDictionary<TKey,TValue> класса, содержащий элементы, скопированные из указанного IEnumerable<T>, имеет уровень параллелизма по умолчанию, имеет начальную емкость по умолчанию и использует средство сравнения по умолчанию для типа ключа. |
| ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) |
Инициализирует новый экземпляр ConcurrentDictionary<TKey,TValue> класса, который является пустым, имеет уровень параллелизма по умолчанию и емкость и использует указанный.IEqualityComparer<T> |
| ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) |
Инициализирует новый экземпляр класса, который содержит элементы, скопированные из указанного ConcurrentDictionary<TKey,TValue>IEnumerable, имеет уровень параллелизма по умолчанию, имеет начальную емкость по умолчанию и использует указанный.IEqualityComparer<T> |
| ConcurrentDictionary<TKey,TValue>(Int32, Int32) |
Инициализирует новый экземпляр ConcurrentDictionary<TKey,TValue> класса, который является пустым, имеет указанный уровень параллелизма и емкость и использует средство сравнения по умолчанию для типа ключа. |
| ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) |
Инициализирует новый экземпляр ConcurrentDictionary<TKey,TValue> класса, содержащего элементы, скопированные из указанного IEnumerable, и использует указанный IEqualityComparer<T>. |
| ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) |
Инициализирует новый экземпляр ConcurrentDictionary<TKey,TValue> класса, который является пустым, имеет указанный уровень параллелизма, имеет указанную начальную емкость и использует указанный.IEqualityComparer<T> |
ConcurrentDictionary<TKey,TValue>()
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
Инициализирует новый экземпляр ConcurrentDictionary<TKey,TValue> класса, который является пустым, имеет уровень параллелизма по умолчанию, имеет начальную емкость по умолчанию и использует средство сравнения по умолчанию для типа ключа.
public:
ConcurrentDictionary();
public ConcurrentDictionary();
Public Sub New ()
Комментарии
Уровень параллелизма по умолчанию равен количеству ЦП. Чем выше уровень параллелизма, тем больше одновременных операций записи может происходить без вмешательства и блокировки. Более высокие значения уровня параллелизма также вызывают операции, требующие всех блокировок (например, изменение размера таблицы и ToArrayCount) для повышения затрат. Емкость по умолчанию (DEFAULT_CAPACITY), представляющая начальное число сегментов, является компромиссом между размером очень маленького словаря и количеством размеров при создании большого словаря. Кроме того, емкость не должна быть делимой на небольшое простое число. Емкость по умолчанию — 31.
См. также раздел
Применяется к
ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>)
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
Инициализирует новый экземпляр ConcurrentDictionary<TKey,TValue> класса, содержащий элементы, скопированные из указанного IEnumerable<T>, имеет уровень параллелизма по умолчанию, имеет начальную емкость по умолчанию и использует средство сравнения по умолчанию для типа ключа.
public:
ConcurrentDictionary(System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<TKey, TValue>> ^ collection);
public ConcurrentDictionary(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>> collection);
new System.Collections.Concurrent.ConcurrentDictionary<'Key, 'Value> : seq<System.Collections.Generic.KeyValuePair<'Key, 'Value>> -> System.Collections.Concurrent.ConcurrentDictionary<'Key, 'Value>
Public Sub New (collection As IEnumerable(Of KeyValuePair(Of TKey, TValue)))
Параметры
- collection
- IEnumerable<KeyValuePair<TKey,TValue>>
Элементы IEnumerable<T> , элементы которых копируются в новые ConcurrentDictionary<TKey,TValue>.
Исключения
collection или любой из его ключей null.
collection содержит один или несколько повторяющихся ключей.
См. также раздел
Применяется к
ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>)
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
Инициализирует новый экземпляр ConcurrentDictionary<TKey,TValue> класса, который является пустым, имеет уровень параллелизма по умолчанию и емкость и использует указанный.IEqualityComparer<T>
public:
ConcurrentDictionary(System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public ConcurrentDictionary(System.Collections.Generic.IEqualityComparer<TKey> comparer);
public ConcurrentDictionary(System.Collections.Generic.IEqualityComparer<TKey>? comparer);
new System.Collections.Concurrent.ConcurrentDictionary<'Key, 'Value> : System.Collections.Generic.IEqualityComparer<'Key> -> System.Collections.Concurrent.ConcurrentDictionary<'Key, 'Value>
Public Sub New (comparer As IEqualityComparer(Of TKey))
Параметры
- comparer
- IEqualityComparer<TKey>
Реализация сравнения равенства, используемая при сравнении ключей.
Исключения
comparer равно null.
См. также раздел
Применяется к
ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
Инициализирует новый экземпляр класса, который содержит элементы, скопированные из указанного ConcurrentDictionary<TKey,TValue>IEnumerable, имеет уровень параллелизма по умолчанию, имеет начальную емкость по умолчанию и использует указанный.IEqualityComparer<T>
public:
ConcurrentDictionary(System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<TKey, TValue>> ^ collection, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public ConcurrentDictionary(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>> collection, System.Collections.Generic.IEqualityComparer<TKey> comparer);
public ConcurrentDictionary(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>> collection, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
new System.Collections.Concurrent.ConcurrentDictionary<'Key, 'Value> : seq<System.Collections.Generic.KeyValuePair<'Key, 'Value>> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Collections.Concurrent.ConcurrentDictionary<'Key, 'Value>
Public Sub New (collection As IEnumerable(Of KeyValuePair(Of TKey, TValue)), comparer As IEqualityComparer(Of TKey))
Параметры
- collection
- IEnumerable<KeyValuePair<TKey,TValue>>
Элементы IEnumerable<T> , элементы которых копируются в новые ConcurrentDictionary<TKey,TValue>.
- comparer
- IEqualityComparer<TKey>
Реализация, используемая IEqualityComparer<T> при сравнении ключей.
Исключения
collection или comparer есть null.
См. также раздел
Применяется к
ConcurrentDictionary<TKey,TValue>(Int32, Int32)
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
Инициализирует новый экземпляр ConcurrentDictionary<TKey,TValue> класса, который является пустым, имеет указанный уровень параллелизма и емкость и использует средство сравнения по умолчанию для типа ключа.
public:
ConcurrentDictionary(int concurrencyLevel, int capacity);
public ConcurrentDictionary(int concurrencyLevel, int capacity);
new System.Collections.Concurrent.ConcurrentDictionary<'Key, 'Value> : int * int -> System.Collections.Concurrent.ConcurrentDictionary<'Key, 'Value>
Public Sub New (concurrencyLevel As Integer, capacity As Integer)
Параметры
- concurrencyLevel
- Int32
Предполагаемое количество потоков, которые будут обновлять ConcurrentDictionary<TKey,TValue> одновременно или только в .NET 8+ -1, чтобы указать уровень параллелизма по умолчанию.
- capacity
- Int32
Начальное число элементов, которые ConcurrentDictionary<TKey,TValue> могут содержаться.
Исключения
См. также раздел
Применяется к
ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
Инициализирует новый экземпляр ConcurrentDictionary<TKey,TValue> класса, содержащего элементы, скопированные из указанного IEnumerable, и использует указанный IEqualityComparer<T>.
public:
ConcurrentDictionary(int concurrencyLevel, System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<TKey, TValue>> ^ collection, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public ConcurrentDictionary(int concurrencyLevel, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>> collection, System.Collections.Generic.IEqualityComparer<TKey> comparer);
public ConcurrentDictionary(int concurrencyLevel, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>> collection, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
new System.Collections.Concurrent.ConcurrentDictionary<'Key, 'Value> : int * seq<System.Collections.Generic.KeyValuePair<'Key, 'Value>> * System.Collections.Generic.IEqualityComparer<'Key> -> System.Collections.Concurrent.ConcurrentDictionary<'Key, 'Value>
Public Sub New (concurrencyLevel As Integer, collection As IEnumerable(Of KeyValuePair(Of TKey, TValue)), comparer As IEqualityComparer(Of TKey))
Параметры
- concurrencyLevel
- Int32
Предполагаемое количество потоков, которые будут обновлять ConcurrentDictionary<TKey,TValue> одновременно или только в .NET 8+ -1, чтобы указать уровень параллелизма по умолчанию.
- collection
- IEnumerable<KeyValuePair<TKey,TValue>>
Элементы IEnumerable<T> , элементы которых копируются в новые ConcurrentDictionary<TKey,TValue>.
- comparer
- IEqualityComparer<TKey>
Реализация, используемая IEqualityComparer<T> при сравнении ключей.
Исключения
collection или comparer есть null.
concurrencyLevel меньше 1.
collection содержит один или несколько повторяющихся ключей.
См. также раздел
Применяется к
ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>)
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
- Исходный код:
- ConcurrentDictionary.cs
Инициализирует новый экземпляр ConcurrentDictionary<TKey,TValue> класса, который является пустым, имеет указанный уровень параллелизма, имеет указанную начальную емкость и использует указанный.IEqualityComparer<T>
public:
ConcurrentDictionary(int concurrencyLevel, int capacity, System::Collections::Generic::IEqualityComparer<TKey> ^ comparer);
public ConcurrentDictionary(int concurrencyLevel, int capacity, System.Collections.Generic.IEqualityComparer<TKey> comparer);
public ConcurrentDictionary(int concurrencyLevel, int capacity, System.Collections.Generic.IEqualityComparer<TKey>? comparer);
new System.Collections.Concurrent.ConcurrentDictionary<'Key, 'Value> : int * int * System.Collections.Generic.IEqualityComparer<'Key> -> System.Collections.Concurrent.ConcurrentDictionary<'Key, 'Value>
Public Sub New (concurrencyLevel As Integer, capacity As Integer, comparer As IEqualityComparer(Of TKey))
Параметры
- concurrencyLevel
- Int32
Предполагаемое количество потоков, которые будут обновлять ConcurrentDictionary<TKey,TValue> одновременно или только в .NET 8+ -1, чтобы указать уровень параллелизма по умолчанию.
- capacity
- Int32
Начальное число элементов, которые ConcurrentDictionary<TKey,TValue> могут содержаться.
- comparer
- IEqualityComparer<TKey>
Реализация, используемая IEqualityComparer<T> при сравнении ключей.
Исключения
comparer равно null.
concurrencyLevel или capacity меньше 1.