C# コレクション(Collection)

C# では、コレクション(Collection)クラスはであるデータの保存と取得に特化したクラスの一種です。

コレクションを使用すると、一連のデータを簡単に保存、管理、操作できます。例:

  • インデックスによるリスト内の項目へのアクセス;
  • キーによる辞書内の値へのアクセス;
  • 要素の動的な追加や削除など。

コレクションクラスは、さまざまな一般的なデータ構造をサポートしています。例えば:

  • スタック(Stack)—— 後入れ先出し(LIFO)構造;
  • キュー(Queue)—— 先入れ先出し(FIFO)構造;
  • リスト(List)—— 動的に拡張可能な順序付きシーケンス;
  • ハッシュテーブル(HashTable)—— キーと値のペアによる高速なデータ検索。

さらに、ほとんどのコレクションクラスは同じインターフェースを実装しています。,
つまり、追加、削除、走査などの同様の操作方法を備えています。

初期の C# バージョンでは、コレクション内の要素は通常、Object型として格納され、コレクションには任意の型のオブジェクトを入れることができました。これは、C# ではObjectがすべてのデータ型の基本クラスであるためです——それがint、stringであれカスタムクラスであれ、最終的にはすべて を継承します。Object。

さまざまなコレクションクラスとその使い方

以下は、一般的に使用されるさまざまなSystem.Collection名前空間のクラスです。下のリンクをクリックして詳細を確認してください。

类説明と使い方
動的配列(ArrayList)これは、個別にインデックス付けできるオブジェクトの順序付きコレクションを表します。

基本的に配列の代わりになります。ただし、配列とは異なり、インデックスを使用して指定された位置で項目を追加・削除でき、動的配列は自動的にサイズを再調整します。また、リスト内での動的なメモリ割り当て、追加、検索、並べ替えも可能です。

ハッシュテーブル(Hashtable)これは键を使用してコレクション内の要素にアクセスします。

キーを使用して要素にアクセスする場合は、ハッシュテーブルを使用します。また、有用なキー値を識別できます。ハッシュテーブルの各項目にはキー/値のペアがあります。キーはコレクション内の項目にアクセスするために使用されます。

ソート済みリスト(SortedList)これは键とインデックスを使用してリスト内の項目にアクセスできます。

ソート済みリストは、配列とハッシュテーブルの組み合わせです。キーまたはインデックスを使用して項目にアクセスできるリストが含まれています。インデックスを使用して項目にアクセスする場合は動的配列(ArrayList)であり、キーを使用して項目にアクセスする場合はハッシュテーブル(Hashtable)です。コレクション内の各項目は常にキー値で並べ替えられています。

スタック(Stack)これは後入れ先出し(LIFO)のオブジェクトコレクションを表します。

項目に対して後入れ先出しのアクセスが必要な場合は、スタックを使用します。リストに項目を追加することをプッシュ要素と呼び、リストから項目を削除することをポップ要素と呼びます。

キュー(Queue)これは先入れ先出し(FIFO)のオブジェクトコレクションを表します。

項目に対して先入れ先出しのアクセスが必要な場合は、キューを使用します。リストに項目を追加することをエンキューと呼び、リストから項目を削除することをデキュー。

ビット配列(BitArray)これは値 1 と 0 で表されるバイナリ配列を表します。

ビットを保存する必要があるが、事前にビット数がわからない場合は、ビット配列を使用します。整数インデックスを使用してビット配列コレクション内の各項目にアクセスできます。インデックスは 0 から始まります。

その他の拡張