C# での値による辞書キーの取得
C# では、関連付けられた値によって辞書キーを取得するには、標準辞書を超える追加の検索操作が必要です機能性。これを実現する方法は次のとおりです:
FirstOrDefault() メソッドの使用:
辞書内の値が一意であることが保証されていない場合は、FirstOrDefault() メソッドを使用できます。 ) Enumerable クラスのメソッドを使用して最初に一致する値を検索します:
// Dictionary with string keys and values Dictionary<string, string> types = new Dictionary<string, string>() { { "1", "one" }, { "2", "two" }, { "3", "three" } }; // Get the key associated with the value "one" string myKey = types.FirstOrDefault(x => x.Value == "one").Key;
この場合、 myKey には値「1」が含まれます。ディクショナリ内の複数の値が同じ値を持つ場合、このアプローチではキーが返されない可能性があることに注意してください。
逆ディクショナリの作成:
あるいは、値が一意であり、読み取りよりも挿入の頻度が低い場合は、値がキー、キーが値である逆辞書を作成できます。
// Create an inverse dictionary Dictionary<string, string> inverseTypes = new Dictionary<string, string>(); // Populate the inverse dictionary foreach (var kvp in types) { inverseTypes[kvp.Value] = kvp.Key; } // Get the key associated with the value "one" string myKey = inverseTypes["one"];
このアプローチでは、別の検索を必要とせずに、逆辞書を使用して検索操作を直接実行できます。このオプションでは、逆辞書の作成により追加のメモリ オーバーヘッドが発生することに注意してください。
以上がC# で値から辞書キーを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。