C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でマップ(Dictionary)を反復処理する方法を徹底解説

C#には、他の言語にあるような組み込みのMap型は用意されていません。そのため、キーと値のペアを扱うマップのようなデータ構造が必要な場合は、Dictionaryクラスを使用します。本記事では、Dictionaryを使ってマップを反復処理する基本的な方法を、サンプルコード付きでわかりやすく解説します。

1. Dictionaryを作成する

まず、Dictionaryインスタンスを作成し、Addメソッドで要素を追加します。

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

d.Add("keyboard", 1);
d.Add("mouse", 2);

2. キーの一覧を取得する

次に、Keysプロパティからキーのコレクションを取得し、ToListメソッドでリストに変換します。

var val = d.Keys.ToList();

3. foreachループで反復処理する

取得したキーのリストに対してforeachループを使用することで、マップの内容を順番に処理できます。

foreach (var key in val) {
    Console.WriteLine(key);
}

完全なサンプルコード

以下は、キーを取得してソートし、表示するまでの一連の流れをまとめた完全なコード例です。

using System;
using System.Collections.Generic;
using System.Linq;

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

        d.Add("keyboard", 1);
        d.Add("mouse", 2);

        // キーを取得
        var val = d.Keys.ToList();

        // ソート
        val.Sort();

        // ソート済みのキーを表示
        foreach (var key in val) {
            Console.WriteLine(key);
        }
    }
}

実行結果

keyboard
mouse

補足:キーと値を同時に取得する方法

キーだけでなく値も一緒に処理したい場合は、KeyValuePairを利用すると便利です。

foreach (KeyValuePair<string, int> pair in d) {
    Console.WriteLine($"{pair.Key}: {pair.Value}");
}

このように、DictionaryのKeysプロパティやKeyValuePairとforeachループを組み合わせることで、C#でもマップを柔軟かつ効率的に反復処理できます。用途に応じて使い分けてみてください。

  1. Raspberry PiにVPNを導入する方法!OpenVPNの設定手順を徹底解説

    VPN(仮想プライベートネットワーク)は、オンラインのプライバシーとセキュリティを守るうえで欠かせない存在です。普段使っているセキュリティ対策ツールと併せてVPNを利用していないなら、今すぐ導入を検討すべきといえます。Windows、Linux、macOSはもちろん、AndroidやiOS向けにも多彩なVPNサービスが提供されています。 では、Raspberry Pi(ラズベリーパイ)を使っている場合はどうでしょうか? Raspberry Pi用のOSの多くはLinuxベースですが、残念ながら多くのVPNプロバイダーはPi専用アプリを提供していません。Kodiの地域制限を回避したいなど、Ra

  2. コントローラーをキーボードにマッピングする方法!SteamとAntiMicroで簡単設定

    ゲームコントローラーをPCに接続すると、自動的に認識されます。Windows 10ではボタンの割り当てもあらかじめ設定されているため、改めてキーをマッピングする必要はありません。しかし、一部のゲームではこの初期設定がうまく機能しないことがあります。そんなときは、コントローラーをキーボードに割り当てられるマッパーツールを活用しましょう。この記事では、コントローラーをキーボードにマッピングする方法を詳しく解説します。 コントローラーをキーボードにマッピングする方法 コントローラーの各ボタンの機能は、ゲーム内の設定画面で確認できます。多くのゲーマーはキーボード操作でのプレイを好みます。長時間のコン