ConcurrentDictionary<TKey,TValue> 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 ConcurrentDictionary<TKey,TValue> 類別的新執行個體。
多載
ConcurrentDictionary<TKey,TValue>()
初始化 ConcurrentDictionary<TKey,TValue> 類別的新執行個體,這個執行個體是空的、具有預設並行層級、具有預設初始容量,並且使用索引鍵類型的預設比較子。
public:
ConcurrentDictionary();
public ConcurrentDictionary ();
Public Sub New ()
備註
默認並行層級等於CPU數目。 並行層級愈高,並行寫入作業可能會愈多,而不會干擾和封鎖。 較高的並行層級值也會導致需要所有鎖定的作業 (例如數據表重設大小, ToArray
) Count
變得更昂貴。 代表貯體初始數目的預設容量 (DEFAULT_CAPACITY) ,是在非常小字典的大小與建構大型字典時重設大小的數目之間的取捨。 此外,容量不應以小型質數來區分。 默認容量為31。
另請參閱
適用於
ConcurrentDictionary<TKey,TValue>(IEnumerable<KeyValuePair<TKey,TValue>>)
初始化 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<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<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<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<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<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。