ConcurrentDictionary<TKey,TValue> Costruttori

Definizione

Inizializza una nuova istanza della classe ConcurrentDictionary<TKey,TValue>.

Overload

Nome Descrizione
ConcurrentDictionary<TKey,TValue>()

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe vuota, ha il livello di concorrenza predefinito, ha la capacità iniziale predefinita e usa l'operatore di confronto predefinito per il tipo di chiave.

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

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe che contiene elementi copiati dall'oggetto specificato IEnumerable<T>, ha il livello di concorrenza predefinito, ha la capacità iniziale predefinita e usa l'operatore di confronto predefinito per il tipo di chiave.

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

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe vuota, ha il livello di concorrenza e la capacità predefiniti e usa l'oggetto specificato IEqualityComparer<T>.

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

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe che contiene elementi copiati dall'oggetto specificato IEnumerable ha il livello di concorrenza predefinito, ha la capacità iniziale predefinita e usa l'oggetto specificato IEqualityComparer<T>.

ConcurrentDictionary<TKey,TValue>(Int32, Int32)

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe vuota, ha il livello di concorrenza e la capacità specificati e usa l'operatore di confronto predefinito per il tipo di chiave.

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

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe che contiene elementi copiati dall'oggetto specificato IEnumerablee utilizza l'oggetto specificato IEqualityComparer<T>.

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

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe vuota, con il livello di concorrenza specificato, ha la capacità iniziale specificata e usa l'oggetto specificato IEqualityComparer<T>.

ConcurrentDictionary<TKey,TValue>()

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe vuota, ha il livello di concorrenza predefinito, ha la capacità iniziale predefinita e usa l'operatore di confronto predefinito per il tipo di chiave.

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

Commenti

Il livello di concorrenza predefinito è uguale al numero di CPU. Maggiore è il livello di concorrenza, più le operazioni di scrittura simultanee possono essere eseguite senza interferenze e blocchi. I valori di livello di concorrenza più elevati comportano anche operazioni che richiedono tutti i blocchi (ad esempio, ToArray il ridimensionamento delle tabelle e Count) diventino più costosi. La capacità predefinita (DEFAULT_CAPACITY), che rappresenta il numero iniziale di bucket, è un compromesso tra le dimensioni di un dizionario molto piccolo e il numero di ridimensionamenti durante la costruzione di un dizionario di grandi dimensioni. Inoltre, la capacità non deve essere divisibile per un numero primo piccolo. La capacità predefinita è 31.

Vedi anche

Si applica a

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

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe che contiene elementi copiati dall'oggetto specificato IEnumerable<T>, ha il livello di concorrenza predefinito, ha la capacità iniziale predefinita e usa l'operatore di confronto predefinito per il tipo di chiave.

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

Parametri

collection
IEnumerable<KeyValuePair<TKey,TValue>>

Oggetto i IEnumerable<T> cui elementi vengono copiati nel nuovo ConcurrentDictionary<TKey,TValue>oggetto .

Eccezioni

collection o una delle relative chiavi è null.

collection contiene una o più chiavi duplicate.

Vedi anche

Si applica a

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

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe vuota, ha il livello di concorrenza e la capacità predefiniti e usa l'oggetto specificato 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))

Parametri

comparer
IEqualityComparer<TKey>

Implementazione del confronto di uguaglianza da usare durante il confronto delle chiavi.

Eccezioni

comparer è null.

Vedi anche

Si applica a

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

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe che contiene elementi copiati dall'oggetto specificato IEnumerable ha il livello di concorrenza predefinito, ha la capacità iniziale predefinita e usa l'oggetto specificato 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))

Parametri

collection
IEnumerable<KeyValuePair<TKey,TValue>>

Oggetto i IEnumerable<T> cui elementi vengono copiati nel nuovo ConcurrentDictionary<TKey,TValue>oggetto .

comparer
IEqualityComparer<TKey>

Implementazione IEqualityComparer<T> da usare durante il confronto delle chiavi.

Eccezioni

collection o comparer è null.

Vedi anche

Si applica a

ConcurrentDictionary<TKey,TValue>(Int32, Int32)

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe vuota, ha il livello di concorrenza e la capacità specificati e usa l'operatore di confronto predefinito per il tipo di chiave.

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)

Parametri

concurrencyLevel
Int32

Numero stimato di thread che aggiorneranno il ConcurrentDictionary<TKey,TValue> simultaneamente o solo in .NET 8+ -1 per indicare il livello di concorrenza predefinito.

capacity
Int32

Numero iniziale di elementi che l'oggetto ConcurrentDictionary<TKey,TValue> può contenere.

Eccezioni

concurrencyLevel è minore di 1.

oppure

capacity è minore di 0.

Vedi anche

Si applica a

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

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe che contiene elementi copiati dall'oggetto specificato IEnumerablee utilizza l'oggetto specificato 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))

Parametri

concurrencyLevel
Int32

Numero stimato di thread che aggiorneranno il ConcurrentDictionary<TKey,TValue> simultaneamente o solo in .NET 8+ -1 per indicare il livello di concorrenza predefinito.

collection
IEnumerable<KeyValuePair<TKey,TValue>>

Oggetto i IEnumerable<T> cui elementi vengono copiati nel nuovo ConcurrentDictionary<TKey,TValue>oggetto .

comparer
IEqualityComparer<TKey>

Implementazione IEqualityComparer<T> da usare durante il confronto delle chiavi.

Eccezioni

collection o comparer è null.

concurrencyLevel è minore di 1.

collection contiene una o più chiavi duplicate.

Vedi anche

Si applica a

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

Inizializza una nuova istanza della ConcurrentDictionary<TKey,TValue> classe vuota, con il livello di concorrenza specificato, ha la capacità iniziale specificata e usa l'oggetto specificato 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))

Parametri

concurrencyLevel
Int32

Numero stimato di thread che aggiorneranno il ConcurrentDictionary<TKey,TValue> simultaneamente o solo in .NET 8+ -1 per indicare il livello di concorrenza predefinito.

capacity
Int32

Numero iniziale di elementi che l'oggetto ConcurrentDictionary<TKey,TValue> può contenere.

comparer
IEqualityComparer<TKey>

Implementazione IEqualityComparer<T> da usare durante il confronto delle chiavi.

Eccezioni

comparer è null.

concurrencyLevel o capacity è minore di 1.

Vedi anche

Si applica a