ConcurrentDictionary<TKey,TValue> ConcurrentDictionary<TKey,TValue> ConcurrentDictionary<TKey,TValue> ConcurrentDictionary<TKey,TValue> Constructors

Определение

Перегрузки

ConcurrentDictionary<TKey,TValue>() ConcurrentDictionary<TKey,TValue>() ConcurrentDictionary<TKey,TValue>()

Инициализирует новый пустой экземпляр класса ConcurrentDictionary<TKey,TValue>, который обладает уровнем параллелизма и начальной емкостью по умолчанию, а также использует для типа ключа функцию сравнения по умолчанию.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type.

ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>)

Инициализирует новый экземпляр класса ConcurrentDictionary<TKey,TValue>, который содержит элементы, скопированные их указанной коллекции IEnumerable<T>, обладает уровнем параллелизма по умолчанию и заданной начальной емкостью, а также использует для данного типа ключа компаратор по умолчанию.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that contains elements copied from the specified IEnumerable<T>, has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type.

ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>)

Инициализирует новый экземпляр класса ConcurrentDictionary<TKey,TValue>, который является пустым, имеет уровень параллелизма и емкость по умолчанию, а также использует заданный объект IEqualityComparer<T>.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the default concurrency level and capacity, and uses the specified IEqualityComparer<T>.

ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)

Инициализирует новый экземпляр класса ConcurrentDictionary<TKey,TValue>, который содержит элементы, скопированные из указанной коллекции IEnumerable, обладает уровнем параллелизма по умолчанию, начальной емкостью по умолчанию, а также использует заданный интерфейс IEqualityComparer<T>.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that contains elements copied from the specified IEnumerable has the default concurrency level, has the default initial capacity, and uses the specified IEqualityComparer<T>.

ConcurrentDictionary<TKey,TValue>(Int32, Int32) ConcurrentDictionary<TKey,TValue>(Int32, Int32) ConcurrentDictionary<TKey,TValue>(Int32, Int32) ConcurrentDictionary<TKey,TValue>(Int32, Int32)

Инициализирует новый пустой экземпляр класса ConcurrentDictionary<TKey,TValue>, который обладает указанными уровнем параллелизма и емкостью, а также использует для данного типа ключей компаратор по умолчанию.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the specified concurrency level and capacity, and uses the default comparer for the key type.

ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)

Инициализирует новый экземпляр класса ConcurrentDictionary<TKey,TValue>, который содержит элементы, скопированные из заданной коллекции IEnumerable, и использует указанный компаратор IEqualityComparer<T>.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that contains elements copied from the specified IEnumerable, and uses the specified IEqualityComparer<T>.

ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>)

Инициализирует новый пустой экземпляр класса ConcurrentDictionary<TKey,TValue>, который обладает указанными уровнем параллелизма и начальной емкостью, а также использует заданный компаратор IEqualityComparer<T>.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the specified concurrency level, has the specified initial capacity, and uses the specified IEqualityComparer<T>.

ConcurrentDictionary<TKey,TValue>() ConcurrentDictionary<TKey,TValue>() ConcurrentDictionary<TKey,TValue>()

Инициализирует новый пустой экземпляр класса ConcurrentDictionary<TKey,TValue>, который обладает уровнем параллелизма и начальной емкостью по умолчанию, а также использует для типа ключа функцию сравнения по умолчанию.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type.

public:
 ConcurrentDictionary();
public ConcurrentDictionary ();
Public Sub New ()

Комментарии

Уровень параллелизма по умолчанию равен числу процессоров.The default concurrency level is equal to the number of CPUs. Чем выше уровень параллелизма, тем более параллельные операции записи могут выполняться без помех и блокировок.The higher the concurrency level is, the more concurrent write operations can take place without interference and blocking. Более высокие значения уровня параллелизма также вызывают операции, требующие всех блокировок (например, изменение размера ToArray таблицы и Count), чтобы стать более затратным.Higher concurrency level values also cause operations that require all locks (for example, table resizing, ToArray and Count) to become more expensive. Емкость по умолчанию (DEFAULT_CAPACITY), представляющая начальное количество сегментов, представляет собой компромисс между размером очень маленького словаря и количеством измененных размеров при построении большого словаря.The default capacity (DEFAULT_CAPACITY), which represents the initial number of buckets, is a trade-off between the size of a very small dictionary and the number of resizes when constructing a large dictionary. Кроме того, емкость не должна делится на небольшое простое число.Also, the capacity should not be divisible by a small prime number. Емкость по умолчанию — 31.The default capacity is 31.

Дополнительно

ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>)

Инициализирует новый экземпляр класса ConcurrentDictionary<TKey,TValue>, который содержит элементы, скопированные их указанной коллекции IEnumerable<T>, обладает уровнем параллелизма по умолчанию и заданной начальной емкостью, а также использует для данного типа ключа компаратор по умолчанию.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that contains elements copied from the specified IEnumerable<T>, has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type.

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>.The IEnumerable<T> whose elements are copied to the new ConcurrentDictionary<TKey,TValue>.

Исключения

collection или любой из его ключей — null.collection or any of its keys is null.

collection содержит один или несколько ключей-дубликатов.collection contains one or more duplicate keys.

Дополнительно

ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEqualityComparer<TKey>)

Инициализирует новый экземпляр класса ConcurrentDictionary<TKey,TValue>, который является пустым, имеет уровень параллелизма и емкость по умолчанию, а также использует заданный объект IEqualityComparer<T>.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the default concurrency level and capacity, and uses the specified IEqualityComparer<T>.

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>

Реализация сравнения равенства, используемая при сравнении ключей.The equality comparison implementation to use when comparing keys.

Исключения

Дополнительно

ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)

Инициализирует новый экземпляр класса ConcurrentDictionary<TKey,TValue>, который содержит элементы, скопированные из указанной коллекции IEnumerable, обладает уровнем параллелизма по умолчанию, начальной емкостью по умолчанию, а также использует заданный интерфейс IEqualityComparer<T>.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that contains elements copied from the specified IEnumerable has the default concurrency level, has the default initial capacity, and uses the specified 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);
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>.The IEnumerable<T> whose elements are copied to the new ConcurrentDictionary<TKey,TValue>.

comparer
IEqualityComparer<TKey>

Реализация интерфейса IEqualityComparer<T>, используемая при сравнении ключей.The IEqualityComparer<T> implementation to use when comparing keys.

Исключения

Параметр collection или comparer имеет значение null.collection or comparer is null.

Дополнительно

ConcurrentDictionary<TKey,TValue>(Int32, Int32) ConcurrentDictionary<TKey,TValue>(Int32, Int32) ConcurrentDictionary<TKey,TValue>(Int32, Int32) ConcurrentDictionary<TKey,TValue>(Int32, Int32)

Инициализирует новый пустой экземпляр класса ConcurrentDictionary<TKey,TValue>, который обладает указанными уровнем параллелизма и емкостью, а также использует для данного типа ключей компаратор по умолчанию.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the specified concurrency level and capacity, and uses the default comparer for the key type.

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

Предполагаемое количество потоков, которые будут параллельно обновлять коллекцию ConcurrentDictionary<TKey,TValue>.The estimated number of threads that will update the ConcurrentDictionary<TKey,TValue> concurrently.

capacity
Int32 Int32 Int32 Int32

Начальное количество элементов, которое может содержать коллекция ConcurrentDictionary<TKey,TValue>.The initial number of elements that the ConcurrentDictionary<TKey,TValue> can contain.

Исключения

Значение параметра concurrencyLevel меньше 1.concurrencyLevel is less than 1.

-или--or- Значение параметра capacity меньше 0.capacity is less than 0.

Дополнительно

ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, IEnumerable<KeyValuePair<TKey,TValue>>, IEqualityComparer<TKey>)

Инициализирует новый экземпляр класса ConcurrentDictionary<TKey,TValue>, который содержит элементы, скопированные из заданной коллекции IEnumerable, и использует указанный компаратор IEqualityComparer<T>.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that contains elements copied from the specified IEnumerable, and uses the specified 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);
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 Int32 Int32 Int32

Предполагаемое количество потоков, которые будут параллельно обновлять коллекцию ConcurrentDictionary<TKey,TValue>.The estimated number of threads that will update the ConcurrentDictionary<TKey,TValue> concurrently.

collection
IEnumerable<KeyValuePair<TKey,TValue>>

Объект IEnumerable<T>, элементы которого копируются в новый объект ConcurrentDictionary<TKey,TValue>.The IEnumerable<T> whose elements are copied to the new ConcurrentDictionary<TKey,TValue>.

comparer
IEqualityComparer<TKey>

Реализация интерфейса IEqualityComparer<T>, используемая при сравнении ключей.The IEqualityComparer<T> implementation to use when comparing keys.

Исключения

Значение параметра collection или comparernull.collection or comparer is null.

Значение параметра concurrencyLevel меньше 1.concurrencyLevel is less than 1.

Параметр collection содержит один или более повторяющихся ключей.collection contains one or more duplicate keys.

Дополнительно

ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>) ConcurrentDictionary<TKey,TValue>(Int32, Int32, IEqualityComparer<TKey>)

Инициализирует новый пустой экземпляр класса ConcurrentDictionary<TKey,TValue>, который обладает указанными уровнем параллелизма и начальной емкостью, а также использует заданный компаратор IEqualityComparer<T>.Initializes a new instance of the ConcurrentDictionary<TKey,TValue> class that is empty, has the specified concurrency level, has the specified initial capacity, and uses the specified 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);
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 Int32 Int32 Int32

Предполагаемое количество потоков, которые будут параллельно обновлять коллекцию ConcurrentDictionary<TKey,TValue>.The estimated number of threads that will update the ConcurrentDictionary<TKey,TValue> concurrently.

capacity
Int32 Int32 Int32 Int32

Начальное количество элементов, которое может содержать коллекция ConcurrentDictionary<TKey,TValue>.The initial number of elements that the ConcurrentDictionary<TKey,TValue> can contain.

comparer
IEqualityComparer<TKey>

Реализация интерфейса IEqualityComparer<T>, используемая при сравнении ключей.The IEqualityComparer<T> implementation to use when comparing keys.

Исключения

Свойство comparer имеет значение null.comparer is null.

Значение concurrencyLevel или capacity меньше 1.concurrencyLevel or capacity is less than 1.

Дополнительно

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