カテゴリ: C# 更新日: 2025/09/24

C#のDictionary型の基本操作と活用例を紹介

C#のDictionary型の基本操作と活用例を紹介
C#のDictionary型の基本操作と活用例を紹介

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

生徒

「C#でデータを名前と一緒に管理する方法ってありますか?例えば、英単語と日本語の意味をまとめて保存したいんです。」

先生

「そんな時に便利なのが、C#のDictionary型です。Dictionaryは“辞書”のように、言葉(キー)と意味(値)をセットで管理できるコレクションです。」

生徒

「なるほど!辞書みたいに言葉と意味をセットにして管理できるんですね。どうやって使うんですか?」

先生

「それでは、C#のDictionary型の基本操作を順番に見ていきましょう!」

1. Dictionary型とは?

1. Dictionary型とは?
1. Dictionary型とは?

C#のDictionary型は、データを「キー(Key)」と「値(Value)」の組み合わせで保存するコレクションです。例えば、学生の出席番号をキーにして、その学生の名前を値として登録すると、番号を使って素早く名前を探せるようになります。

「キー」は辞書の見出し語、「値」はその意味にあたるイメージです。同じキーを重複して登録することはできませんが、値は同じでも構いません。

2. Dictionaryの基本的な作成方法

2. Dictionaryの基本的な作成方法
2. Dictionaryの基本的な作成方法

まずは、C#でDictionaryを作成する方法を見てみましょう。英単語と日本語を管理する簡単なサンプルです。


using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        Dictionary<string, string> dictionary = new Dictionary<string, string>();

        dictionary.Add("apple", "りんご");
        dictionary.Add("dog", "いぬ");
        dictionary.Add("book", "ほん");

        Console.WriteLine(dictionary["apple"]);
    }
}

りんご

このように、キーに「apple」を指定すると、対応する値「りんご」を取り出すことができます。

3. 要素の追加と削除

3. 要素の追加と削除
3. 要素の追加と削除

Dictionaryにデータを追加するにはAddメソッドを使います。削除する場合はRemoveメソッドを使います。


dictionary.Add("cat", "ねこ");

dictionary.Remove("dog");

上記の例では、「cat:ねこ」を追加し、「dog:いぬ」を削除しています。

4. データの検索

4. データの検索
4. データの検索

キーを指定して値を取り出すことができますが、存在しないキーを指定するとエラーになります。そのため、ContainsKeyメソッドを使って安全にチェックするのがおすすめです。


if (dictionary.ContainsKey("book"))
{
    Console.WriteLine(dictionary["book"]);
}
else
{
    Console.WriteLine("指定したキーは存在しません。");
}

ほん

5. Dictionaryの活用例

5. Dictionaryの活用例
5. Dictionaryの活用例

例えば、テストの点数を管理するプログラムを考えてみましょう。キーに学生の名前、値に点数を保存すると、名前を指定してすぐに点数を取り出すことができます。


Dictionary<string, int> scores = new Dictionary<string, int>();

scores.Add("田中", 85);
scores.Add("佐藤", 92);
scores.Add("鈴木", 78);

Console.WriteLine("佐藤さんの点数: " + scores["佐藤"]);

佐藤さんの点数: 92

このように、名前と点数を関連づけて保存すれば、検索や更新がとても便利になります。

6. ループで全ての要素を取り出す

6. ループで全ての要素を取り出す
6. ループで全ての要素を取り出す

foreach文を使えば、Dictionaryに保存されているすべてのキーと値を取り出すことができます。


foreach (var item in scores)
{
    Console.WriteLine(item.Key + " さんの点数は " + item.Value + " 点です。");
}

田中 さんの点数は 85 点です。
佐藤 さんの点数は 92 点です。
鈴木 さんの点数は 78 点です。

このように繰り返し処理を使うことで、一覧を表示することができます。

7. Dictionaryを使うメリット

7. Dictionaryを使うメリット
7. Dictionaryを使うメリット

Dictionary型を使うメリットは大きく3つあります。

  • キーを使って高速にデータを検索できる
  • 重複を許さないキーでデータを一意に管理できる
  • 名前や番号など、意味のある情報とセットで保存できる

特に、検索の速さは大きな特徴で、大量のデータを扱うときに威力を発揮します。

カテゴリの一覧へ
新着記事
New1
COBOL
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法
New2
C#
C#のrefとoutキーワードとは?引数の参照渡しを理解しよう
New3
C#
C#の非同期処理における例外のログ管理方法!初心者でも失敗しないエラー対応
New4
C#
C#の可変長引数(params)を使う方法!引数の数が決まらないときに便利
人気記事
No.1
Java&Spring記事人気No1
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#のrefとoutキーワードとは?引数の参照渡しを理解しよう
No.4
Java&Spring記事人気No4
C#
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.5
Java&Spring記事人気No5
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法
No.6
Java&Spring記事人気No6
C#
C#でファイルのエンコーディングを指定する方法(UTF-8・Shift-JISなど)
No.7
Java&Spring記事人気No7
C#
C#の引数と戻り値の基本!値を受け渡し・返す仕組みを理解しよう
No.8
Java&Spring記事人気No8
COBOL
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法