「.NETのパフォーマンスの最適化」 - 第V章のコレクション

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/zhonghua_csdn/article/details/90709041

コレクション

使用しないでくださいにSystem.Collectionsのタイプの名前空間を。彼らは、セキュリティの種類が非常に高く、また、他の改善を介して行われているので、我々は、一般的なバージョンと同時のバージョンのセットを使用することをお勧めします。

System.Collections.Generic名前空間は、ユーザーがより良い非ジェネリック厳密に型指定されたコレクションよりも、型の安全性や性能のセットを提供し、一般的な厳密に型指定されたコレクションのセットを、作成するために使用できる汎用的なコレクションを定義するインタフェースとクラスが含まれています。

セット 説明
ArrayListを、リスト<T> リストは、リスト<T>のArrayListの一般的な形式です。
スタック<T> スタック
キュー<T> キュー
HashSet <T>、にSortedSet <T> 要素のセットを含むセットは、「設定(SET)」を繰返さない場合、HashSetの要素のセットを含む<T>順不同リストは;.たSortedSet要素の順序付きリストを繰り返さない含む<T>セット省略する。
LinkedListは<T> 二重リンクリスト
辞書<処理鍵、TValue> 辞書は、キーに基づいてアクセス要素を可能にします。辞書はまた、マッピングまたはハッシュテーブルと呼ばれます。辞書の主な特徴は、迅速キーに応じた値を見つけるための機能です。また、無料の追加と削除の要素、リスト<T>クラスのビットを、しかしメモリ内の後続の要素のパフォーマンス・オーバーヘッドを移動しませんでした。
SortedDictionary <処理鍵、TValue> 注文した辞書は、重要な要素に応じてソートされた二分探索木、です。キータイプには、IComparableを<TKEY>インタフェースを実装する必要があります。
SortedListの<処理鍵、TValue> 要素にキークラスでソートされた順序付きリスト、。

スレッドセーフなコレクション

次の表は、System.Collections.Concurrentタイプの名前空間を設定します。

タイプ 説明
BlockingCollection <T> 達成するためにIProducerConsumerCollectionを<T>すべての種類の制限とブロッキングを提供しています。詳細については、BlockingCollectionの概要を
ConcurrentDictionary <処理鍵、TValue> スレッドセーフ辞書を達成するための鍵。
ConcurrentQueue <T> スレッドセーフのFIFO(先入れ先出し)キュー。
ConcurrentStack <T> スレッドの安全性の実現LIFO(うち最初の、の最後の)スタック。
ConcurrentBag <T> セキュリティ実装の要素の順序なしコレクションを通します。
IProducerConsumerCollection <T> タイプは、するために実装する必要がありますBlockingCollection使用するためのインタフェース。

おすすめ

転載: blog.csdn.net/zhonghua_csdn/article/details/90709041