一尘不染

按值获取字典键

c#

如何在C#中按值获取字典键?

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

我想要这样的东西:

getByValueKey(string value);

getByValueKey("one")必须返回"1"

最好的方法是什么?也许HashTable,SortedLists?


阅读 272

收藏
2020-05-19

共1个答案

一尘不染

值不一定必须是唯一的,因此您必须进行查找。您可以执行以下操作:

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

如果值是唯一的,并且插入频率比读取的频率低,请创建一个反向字典,其中值是键,而键是值。

2020-05-19