データの集まりを扱う「コレクション(List / Dictionary / HashSet)」とは?
C#では、複数のデータを効率的に扱うためにコレクションと呼ばれるデータ構造が用意されています。
その中でも代表的な3つが List・Dictionary・HashSet です。
@ List<T>(リスト)
順番を持つコレクションで、配列のように使えますが、要素の追加・削除が簡単です。
List<string> names = new List<string>();
names.Add("太郎");
names.Add("花子");
names.Remove("太郎");
foreach (string name in names) {
Console.WriteLine(name); // → 花子
}
主なメソッド
Add():要素の追加
Remove():要素の削除
Count:要素数の取得
Contains():含まれているかチェック
A Dictionary<TKey, TValue>(辞書)
キーと値のペアでデータを管理できるコレクションです。
索引の代わりに「キー」でデータにアクセスできます。
Dictionary<string, int> ages = new Dictionary<string, int>();
ages["太郎"] = 20;
ages["花子"] = 18;
Console.WriteLine(ages["太郎"]); // → 20
主なメソッド
Add():新しいキーと値の追加
Remove():キーの削除
ContainsKey():キーの存在確認
TryGetValue():安全に値を取得
B HashSet<T>(集合)
重複のないデータの集まりを扱うコレクションです。
順番は保証されませんが、高速な検索・追加・削除が特徴です。
HashSet<string> tags = new HashSet<string>();
tags.Add("C#");
tags.Add("プログラミング");
tags.Add("C#"); // ← 重複は無視される
foreach (var tag in tags) {
Console.WriteLine(tag);
}
主なメソッド
Add():要素の追加(重複不可)
Remove():要素の削除
Contains():含まれているか確認
Set操作(Union, Intersect):集合演算
使い分けのポイント
| コレクション |
特徴 |
向いている用途 |
| List<T> |
順番あり・重複OK |
並びのあるデータ、複数回の追加 |
| Dictionary<TKey, TValue> |
キーと値のペア |
名前付きデータの管理 |
| HashSet<T> |
順番なし・重複なし |
一意な要素の集合、重複排除 |
まとめ
コレクションは、複数のデータを効率的に管理・操作するための基本ツールです。
List・Dictionary・HashSet などの特性を理解して、用途に応じて使い分けることが大切です。
どれも System.Collections.Generic 名前空間にあるため、using を忘れずに!