【C#】Dictionaryの基本操作|キーと値の扱い方

C# で頻繁に使われるコレクションのひとつが Dictionary<TKey, TValue> です。これは「キー」と「値」をペアで管理できるコレクションで、検索や追加・削除が効率的に行えます。本記事では Dictionary の基本操作を、サンプルコード付きで解説します。

Dictionaryの基本構文

Dictionary<TKey, TValue> はキーの型と値の型を指定して利用します。キーは一意である必要があり、重複するキーは登録できません。

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // string をキー、int を値に持つ Dictionary
        Dictionary<string, int> scores = new Dictionary<string, int>();

        // データの追加
        scores.Add("Taro", 80);
        scores.Add("Hanako", 95);
        scores.Add("Jiro", 70);

        Console.WriteLine("登録完了");
    }
}

値の取得

登録した値はキーを指定して取り出せます。存在しないキーを指定すると例外が発生するため注意が必要です。

Console.WriteLine(scores["Hanako"]); // 95

存在チェックを行いたい場合は ContainsKey() を使います。

if (scores.ContainsKey("Ken"))
{
    Console.WriteLine(scores["Ken"]);
}
else
{
    Console.WriteLine("Ken は登録されていません");
}

安全に値を取得する(TryGetValue)

TryGetValue を使うと例外を避けつつ値を取得できます。

if (scores.TryGetValue("Jiro", out int value))
{
    Console.WriteLine($"Jiro の点数: {value}");
}
else
{
    Console.WriteLine("Jiro は登録されていません");
}

値の更新

既存のキーに対して値を代入すると更新されます。

scores["Taro"] = 85; // 値を更新
Console.WriteLine(scores["Taro"]); // 85

要素の削除

Remove を使うとキーを指定して要素を削除できます。

scores.Remove("Hanako");

Dictionaryをループ処理する

foreach を使うと、キーと値のペアを順番に取り出せます。

foreach (var pair in scores)
{
    Console.WriteLine($"キー: {pair.Key}, 値: {pair.Value}");
}

まとめ

Dictionary<TKey, TValue> の基本操作は以下の通りです。

  • Add でデータを追加
  • [] で値を取得・更新
  • ContainsKeyTryGetValue で安全に検索
  • Remove で削除
  • foreach で全件ループ処理

Dictionary を活用することで、キーによる高速な検索やデータ管理が可能になります。実務でのデータ管理や設定値の保持など、幅広い場面で役立ちます。