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

指定した IEnumerable からコピーされた要素を含む クラスのConcurrentDictionary<TKey,TValue>新しいインスタンスを初期化します。このインスタンスには、既定のコンカレンシー レベルがあり、既定の初期容量があり、指定した を使用します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 ()

注釈

既定のコンカレンシー レベルは、CPU の数と同じです。 コンカレンシー レベルが高いほど、干渉やブロックなしで、より多くの同時実行書き込み操作を実行できます。 コンカレンシー レベルの値が高いほど、すべてのロック (テーブルのサイズ変更 ToArrayCountや など) を必要とする操作のコストが高くなります。 バケットの初期数を表す既定の容量 (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 には 1 つまたは複数の重複するキーが含まれます。

こちらもご覧ください

適用対象

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>

キーの比較時に使用する等価比較の実装。

例外

comparernull です。

こちらもご覧ください

適用対象

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

ソース:
ConcurrentDictionary.cs
ソース:
ConcurrentDictionary.cs
ソース:
ConcurrentDictionary.cs

指定した IEnumerable からコピーされた要素を含む クラスのConcurrentDictionary<TKey,TValue>新しいインスタンスを初期化します。このインスタンスには、既定のコンカレンシー レベルがあり、既定の初期容量があり、指定した を使用します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 または comparernull です。

こちらもご覧ください

適用対象

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 または comparernull です。

concurrencyLevel が 1 未満です。

collection には 1 つまたは複数の重複するキーが含まれます。

こちらもご覧ください

適用対象

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> の実装。

例外

comparernullです。

concurrencyLevel または capacity が 1 未満です。

こちらもご覧ください

適用対象