カテゴリ: C# 更新日: 2025/11/12

C#のDictionary(辞書)の使い方を初心者向けに完全解説!キーと値でデータ管理を学ぼう

C#の辞書(Dictionary型)の使い方!キーと値の管理方法をわかりやすく解説
C#の辞書(Dictionary型)の使い方!キーと値の管理方法をわかりやすく解説

先生と生徒の会話形式で理解しよう

生徒

「先生!C#で、言葉と意味みたいなペアを管理したいんですけど、どうすればいいですか?」

先生

「その場合は、Dictionary(ディクショナリ)という機能を使うと便利ですよ。」

生徒

「ディクショナリ?それってどういうものなんですか?」

先生

「わかりやすく言えば、“言葉と意味のセット”を管理できる道具です。それでは、基本的な使い方を一緒に学びましょう!」

1. Dictionary(ディクショナリ)とは?

1. Dictionary(ディクショナリ)とは?
1. Dictionary(ディクショナリ)とは?

C#のDictionary(ディクショナリ)は、「キー(key)」と「値(value)」のセットでデータを管理するための型です。まるで、言葉とその意味をセットで管理する辞書のようなものと考えると理解しやすいです。

例えば「りんご → Apple」「ねこ → Cat」のように、日本語をキー、英語を値として登録できます。

このDictionaryは、キーを使って、すばやく値を取り出せるのが大きな特徴です。

2. Dictionaryの宣言と初期化の方法

2. Dictionaryの宣言と初期化の方法
2. Dictionaryの宣言と初期化の方法

まずは、Dictionaryを使うための準備として、宣言と初期化の方法を学びましょう。以下のように書きます。


Dictionary<string, string> dic = new Dictionary<string, string>();

このコードでは、「キーが文字列」「値も文字列」のDictionaryを作っています。stringとは、文字列を表すC#の型です。

3. Dictionaryにデータを追加する方法

3. Dictionaryにデータを追加する方法
3. Dictionaryにデータを追加する方法

次に、辞書にデータを追加してみましょう。Addメソッドを使うことで、キーと値のペアを登録できます。


dic.Add("りんご", "Apple");
dic.Add("ねこ", "Cat");
dic.Add("みず", "Water");

このように、キーと値をセットで渡せば、Dictionaryに登録されます。

4. Dictionaryから値を取り出す方法

4. Dictionaryから値を取り出す方法
4. Dictionaryから値を取り出す方法

追加したデータは、キーを指定することで取り出せます。例えば「りんご」の英語を知りたいときは、次のようにします。


Console.WriteLine(dic["りんご"]);

Apple

注意: 指定したキーが存在しないと、エラーになります。エラーにならないようにするために、次の方法もあります。

5. キーが存在するか確認する方法

5. キーが存在するか確認する方法
5. キーが存在するか確認する方法

存在しないキーを指定するとエラーになるため、安全に取り出すにはContainsKeyを使います。


if (dic.ContainsKey("いぬ"))
{
    Console.WriteLine(dic["いぬ"]);
}
else
{
    Console.WriteLine("そのキーは存在しません。");
}

そのキーは存在しません。

このようにContainsKeyで事前に確認しておくと、安全にデータを扱えます。

6. Dictionaryの全てのデータを表示する方法

6. Dictionaryの全てのデータを表示する方法
6. Dictionaryの全てのデータを表示する方法

辞書の中にあるすべてのデータを表示するには、foreach(フォーイーチ)という構文を使います。


foreach (KeyValuePair<string, string> pair in dic)
{
    Console.WriteLine($"キー:{pair.Key}、値:{pair.Value}");
}

キー:りんご、値:Apple
キー:ねこ、値:Cat
キー:みず、値:Water

KeyValuePair(キー・バリューペア)とは、「キーと値のペア」という意味です。

7. 値を上書き(更新)する方法

7. 値を上書き(更新)する方法
7. 値を上書き(更新)する方法

同じキーに新しい値を入れると、古い値が更新(上書き)されます。例えば、「みず」を「Water」から「Aqua」に変える場合は次のように書きます。


dic["みず"] = "Aqua";
Console.WriteLine(dic["みず"]);

Aqua

8. Dictionaryからデータを削除する方法

8. Dictionaryからデータを削除する方法
8. Dictionaryからデータを削除する方法

登録したキーと値のセットを削除するには、Removeメソッドを使います。


dic.Remove("ねこ");

このようにすると、「ねこ → Cat」のデータが辞書から消えます。

9. Dictionaryの使い道と具体的な例

9. Dictionaryの使い道と具体的な例
9. Dictionaryの使い道と具体的な例

Dictionaryは、さまざまな場面で使えます。以下は身近な例です。

  • ユーザーのIDと名前を管理
  • 商品コードと価格を関連づける
  • 曜日と予定を記録する

例えば、月曜日の予定を登録するなら:


Dictionary<string, string> schedule = new Dictionary<string, string>();
schedule.Add("月曜日", "英語の授業");
Console.WriteLine(schedule["月曜日"]);

英語の授業

10. Dictionaryと配列やリストとの違い

10. Dictionaryと配列やリストとの違い
10. Dictionaryと配列やリストとの違い

Dictionaryは、「順番」ではなく「名前(キー)」でデータを管理する点が、配列やリストと大きく異なります。

  • 配列やリストは、番号(0番目、1番目など)でアクセス
  • Dictionaryは、名前や意味などの「キー」でアクセス

このように、何かの名前やIDで情報を管理したいときには、Dictionaryがとても便利です。

まとめ

まとめ
まとめ

C#のDictionaryは、「キーと値」のペアで情報を効率的に管理できる非常に便利なデータ構造です。この記事では、Dictionaryの宣言や初期化から始まり、データの追加、取得、更新、削除までの一連の操作方法を丁寧に解説しました。また、ContainsKeyで存在確認をする方法や、foreachを使ってすべてのデータを表示するテクニックなど、実用的なポイントも学習しました。

特に、キーで素早くアクセスできることがDictionaryの大きな特徴であり、IDや名前、コードなど意味のある識別子でデータを扱う場合には強力な味方となります。これにより、配列やリストと比べても格段に分かりやすく、ミスの少ないコーディングが可能になります。

たとえば、日々の予定を曜日ごとに管理したり、ユーザー情報をIDでひも付けたり、用語と意味を紐づけて語彙帳を作成したりといった応用が考えられます。これらはすべて、Dictionaryなら簡潔かつ柔軟に実現できます。

以下は、この記事で学んだ知識を活かして、簡単な辞書帳を作るサンプルコードです。


Dictionary<string, string> wordbook = new Dictionary<string, string>();
wordbook.Add("くるま", "Car");
wordbook.Add("そら", "Sky");
wordbook.Add("さかな", "Fish");

foreach (KeyValuePair<string, string> entry in wordbook)
{
    Console.WriteLine($"日本語:{entry.Key} → 英語:{entry.Value}");
}

日本語:くるま → 英語:Car
日本語:そら → 英語:Sky
日本語:さかな → 英語:Fish

上記のように、foreachを活用すれば、登録されたすべての言葉と意味を一覧で確認でき、非常に実用的です。エラーを避けるためには、ContainsKeyでキーの存在確認を行うことも忘れずに行いましょう。

今後、C#でアプリケーションやツールを開発していくうえで、Dictionaryの使い方をマスターしておくことは大きな武器になります。初心者のうちから繰り返し使って慣れていくことが、確実なスキルアップにつながります。

先生と生徒の振り返り会話

生徒

「先生、Dictionaryって本当に便利ですね!キーで値をすぐに取り出せるのがすごく助かります!」

先生

「そうですね。配列やリストとは違って、意味のある名前でデータを管理できるのが強みです。」

生徒

ContainsKeyを使って、キーがあるかどうか調べるのも安心ですね。これでエラーも減りそうです。」

先生

「その通り。安全性と効率性の両方を考えたコードが書けるようになりますよ。次は応用編にも挑戦してみましょう!」

理解度のクイズ問題

理解度のクイズ
この記事の理解度をクイズで確認しよう

空欄の★に当てはまる内容を答えてください。

問題
C#のDictionaryは、データを名前で素早く検索できるコレクションです。 データは キー の組で管理し、登録(追加)・取得・更新・削除を行います。 次のコードは、宣言と追加、存在確認を行ってから取り出す基本例です。
using System;
using System.Collections.Generic;

class Sample
{
    static void Main()
    {
        // 宣言:キーも値も文字列の辞書
        Dictionary<string, string> dic = new Dictionary<string, string>();

        // 追加(登録)
        dic.Add("apple", "りんご");
        dic.Add("cat",   "ねこ");

        // 存在確認をしてから取り出す
        if (dic.ContainsKey("apple"))
        {
            Console.WriteLine(dic["apple"]); // りんご
        }
        else
        {
            Console.WriteLine("そのキーは存在しません。");
        }
    }
}
【ヒント】 ・Dictionary=「名前で引ける」データ構造。 ・★1で探して★2を取り出すイメージ(電話帳で名前→電話番号)。 ・関連キーワード:C# コレクション、Dictionary 基礎、キーと値、データ検索、初心者向け。

下記をクリックすると、解答が表示されます
カテゴリの一覧へ
新着記事
C#で複数ファイルをまとめて操作する方法(foreach・LINQ)をやさしく解説!
C#のインターフェースとは?クラス設計を柔軟にする基本技術
C#のコンストラクタの役割と使い方!オブジェクト初期化の基本
COBOLでデータベース接続を理解しよう!初心者でもわかる基本の考え方
人気記事
No.1
Java&Spring記事人気No1
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.3
Java&Spring記事人気No3
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.4
Java&Spring記事人気No4
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法