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<TKey,TValue>, который обладает уровнем параллелизма и начальной емкостью по умолчанию, а также использует для типа ключа функцию сравнения по умолчанию.
public:
ConcurrentDictionary();
public ConcurrentDictionary ();
Public Sub New ()
Комментарии
Уровень параллелизма по умолчанию равен количеству ЦП. Чем выше уровень параллелизма, тем больше параллельных операций записи может выполняться без помех и блокировки. Более высокие значения уровня параллелизма также приводят к удорожаю операций, требующих всех блокировок (например, ToArray
изменения размера таблицы и Count
). Емкость по умолчанию (DEFAULT_CAPACITY), представляющая начальное количество контейнеров, является компромиссом между размером очень маленького словаря и количеством размеров при создании большого словаря. Кроме того, емкость не должна быть делима на небольшое простое число. Емкость по умолчанию — 31.
См. также раздел
- Потокобезопасные коллекции
- Практическое руководство. Добавление элементов в коллекцию ConcurrentDictionary и их удаление из этой коллекции
Применяется к
ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>)
- Исходный код:
- 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 и их удаление из этой коллекции
Применяется к
ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>)
- Исходный код:
- 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 и их удаление из этой коллекции
Применяется к
ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)
- Исходный код:
- 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 и их удаление из этой коллекции
Применяется к
ConcurrentDictionary<TKey,TValue>(Int32, Int32)
- Исходный код:
- 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>.
Исключения
Значение параметраconcurrencyLevel
меньше 1.
-или-
Значение параметраcapacity
меньше 0.
См. также раздел
- Потокобезопасные коллекции
- Практическое руководство. Добавление элементов в коллекцию ConcurrentDictionary и их удаление из этой коллекции
Применяется к
ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)
- Исходный код:
- 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 и их удаление из этой коллекции
Применяется к
ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>)
- Исходный код:
- 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.
См. также раздел
- Потокобезопасные коллекции
- Практическое руководство. Добавление элементов в коллекцию ConcurrentDictionary и их удаление из этой коллекции