値で辞書のキーを取得する 質問する

値で辞書のキーを取得する 質問する

C# で辞書のキーを値で取得するにはどうすればよいですか?

Dictionary<string, string> types = new Dictionary<string, string>()
{
    {"1", "one"},
    {"2", "two"},
    {"3", "three"}
};

次のようなものがほしいです:

getByValueKey(string value);

getByValueKey("one")返却する必要があります"1"

これを行う最善の方法は何でしょうか? HashTable または SortedLists でしょうか?

ベストアンサー1

値は必ずしも一意である必要はないので、検索を行う必要があります。次のようにすることができます。

var myKey = types.FirstOrDefault(x => x.Value == "one").Key;

値が一意であり、読み取りよりも挿入される頻度が低い場合は、値がキーでキーが値である逆辞書を作成します。

おすすめ記事