●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

データの集まりを扱う「コレクション(List / Dictionary / HashSet)」とは?

C#では、複数のデータを効率的に扱うためにコレクションと呼ばれるデータ構造が用意されています。
その中でも代表的な3つが ListDictionaryHashSet です。


@ 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> 順番なし・重複なし 一意な要素の集合、重複排除

まとめ

コレクションは、複数のデータを効率的に管理・操作するための基本ツールです。
ListDictionaryHashSet などの特性を理解して、用途に応じて使い分けることが大切です。
どれも System.Collections.Generic 名前空間にあるため、using を忘れずに!

 

C#関連用語集

−−−−−  C#  −−−−−

C#の基本単位「クラス(Class)」とは?

クラスから生まれる実体「オブジェクト(Object)」とは?

クラスの実体「インスタンス(Instance)」とは?

オブジェクトの初期化に使う「コンストラクタ(Constructor)」とは?

フィールドへのアクセスを制御!「プロパティ(Property)」とは?

クラスが持つデータ「フィールド(Field)」とは?

クラスの動作を定義する「メソッド(Method)」とは?

既存のクラスを引き継ぐ「継承(Inheritance)」とは?

同じ命令で異なる動きができる「多態性(Polymorphism)」とは?

データを守る「カプセル化(Encapsulation)」とは?

土台だけを用意する「抽象クラス(Abstract Class)」とは?

ルールを定める仕組み「インターフェース(Interface)」とは?

親クラスのメソッドを上書きする「オーバーライド(Override)」とは?

引数の違いで同じ名前が使える「オーバーロード(Overload)」とは?

C#で自分自身を指す「thisキーワード」とは?

親クラスの機能を使う「baseキーワード」とは?

インスタンス不要で使える「static(静的)」とは?

値を変えたくないときに使う「readonly / const(定数)」とは?

メソッドを渡せる仕組み「delegate(デリゲート)」とは?

「何かが起きたら知らせる」仕組み「event(イベント)」とは?

簡潔な書き方ができる「ラムダ式(Lambda Expression)」とは?

C#で使える「LINQ(言語統合クエリ)」とは?

エラーから安全に回復する「例外処理(try-catch-finally)」とは?

意図的にエラーを発生させる「throw(スロー)」とは?

名前空間やリソースを扱う「usingディレクティブ」とは?

クラスの整理に便利な「namespace(名前空間)」とは?

型を柔軟に扱う「ジェネリクス(Generics)」とは?

データの集まりを扱う「コレクション(List / Dictionary / HashSet)」とは?

処理を止めずに進める「非同期処理(async / await)」とは?

簡単に使えて便利!「自動実装プロパティ」と「プロパティ初期化子」