コレクションの作成と操作

.NET Framework は、最も一般的なコレクションを提供します。 それらのコレクションのいずれかを使用したり、そのうちの 1 つに基づいて独自のコレクションを作成したりできます。 各コレクションは、固有の目的に合わせてデザインされています。 できる限り、System.Collections 名前空間の従来の型には System.Collections.Generic 名前空間または System.Collections.Concurrent 名前空間のジェネリック コレクションを使用することをお勧めします。

独自のコレクションを実装する場合は、次のガイドラインに従ってください。

  • まず、適切な基本クラスとインターフェイスを選択します。 コレクション型の選択方法に関するヒントについては、「コレクション クラスの選択」を参照してください。

  • コレクションを厳密に型指定することを検討します。 厳密に型指定されたコレクションでは、コンパイル時と実行時に型が自動的に検証され、ボックス化やボックス化解除、変換などのパフォーマンスに悪影響を及ぼす処理を回避できます。 使用言語がジェネリックをサポートしている場合、System.Collections.Generic 型の 1 つを使用します。 使用言語がジェネリックをサポートしていない場合でも、System.Collections.Specialized に、厳密に型指定されたコレクションの例が含まれています。

  • 複数のスレッドからコレクションにアクセスする場合は、System.Collections.Concurrent 名前空間のクラスを使用します。

  • クラスでシリアル化を有効にすることを検討します。 詳細については、「Serialization Concepts」を参照してください。

関連トピック

タイトル

説明

コレクション クラスの選択

最も適したコレクション型を選択するための指針を示します。

コレクションの列挙処理

列挙子について、およびコレクションと共に列挙子を使用する方法について説明します。

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

マルチスレッド アプリケーションにおけるコレクションの使用について説明します。

コレクション内での比較と並べ替え

コレクションにおける等式による比較と並べ替えによる比較の使用について説明します。

コレクションとデータ構造体

.NET Framework で利用できるスタック、キュー、リスト、配列、構造体などのさまざまなコレクション型について説明します。

Serialization Concepts

データをストレージに永続化するシナリオと、アプリケーション ドメインを越えてオブジェクトを受け渡しするシナリオの 2 つを例として、シリアル化の有効な利用方法について説明します。

参照

System.Collections

System.Collections.Specialized

System.Collections.Generic

System.Collections.Concurrent