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
には 1 つまたは複数の重複するキーが含まれます。
こちらもご覧ください
適用対象
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>)
指定した 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
または 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
には 1 つまたは複数の重複するキーが含まれます。
こちらもご覧ください
適用対象
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 未満です。
こちらもご覧ください
適用対象
.NET