Поделиться через


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<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<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<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<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<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<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.

См. также раздел

Применяется к