C# で値ごとに辞書キーを取得する

Muhammad Maisam Abbas 2024年2月16日
  1. 値で C# の foreach ループを使用して辞書キーを取得する
  2. C# の Linq メソッドを使用して値で辞書キーを取得する
C# で値ごとに辞書キーを取得する

このチュートリアルでは、C# で値を持つ辞書キーを取得する方法を紹介します。

値で C# の foreach ループを使用して辞書キーを取得する

残念ながら、C# のディクショナリから値でキーを取得するための組み込みの方法はありません。この目標を達成するには、いくつかのユーザー定義のアプローチに依存する必要があります。foreach ループは、データ構造を反復処理するために使用されます。foreach ループと if ステートメントを使用して、C# の辞書から値でキーを取得できます。次のコード例は、C# の foreach ループを使用して値で辞書キーを取得する方法を示しています。

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

namespace get_dictionary_key_by_value {
  class Program {
    static void Main(string[] args) {
      Dictionary<string, string> types =
          new Dictionary<string, string>() { { "1", "one" }, { "2", "two" }, { "3", "three" } };
      string key = "";
      foreach (var pair in types) {
        if (pair.Value == "one") {
          key = pair.Key;
        }
      }
      Console.WriteLine(key);
    }
  }
}

出力:

1

辞書 types を作成し、foreach ループを使用して types を繰り返し、値 one に関連付けられたキーを見つけました。foreach ループを使用して types ディクショナリの各ペアを反復処理し、各ペアの値が one と一致するかどうかを確認しました。ペア値 pair.valueone と一致する場合、key = pair.key を使用してペアのキーを key 文字列内に格納します。

C# の Linq メソッドを使用して値で辞書キーを取得する

Linq または言語統合クエリは、SQL クエリの機能を C# に統合するために使用されます。Linq を使用して、ディクショナリ値ごとにディクショナリキーを取得できます。次のコード例を参照してください。

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

namespace get_dictionary_key_by_value {
  class Program {
    static void Main(string[] args) {
      Dictionary<string, string> types =
          new Dictionary<string, string>() { { "1", "one" }, { "2", "two" }, { "3", "three" } };
      var myKey = types.FirstOrDefault(x => x.Value == "one").Key;
      Console.WriteLine(myKey);
    }
  }
}

出力:

1

辞書 types を作成し、C# の Linq を使用して、値 one に関連付けられたキーを myKey 文字列内に保存しました。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp Dictionary