首页 / 问答 / C#/.NET/.NET Core应用程序编程开发中如何从一个泛型字典中根据指定值获取对应的多个键呢?

C#/.NET/.NET Core应用程序编程开发中如何从一个泛型字典中根据指定值获取对应的多个键呢?

.NET C# Dictionary .NET Core 字典 2.81K 次浏览
0

在C#/.NET/.NET Core应用程序编程开发中,字典通过一个键获取对应的值是比较容易的,如下示例:

Dictionary<int, string> greek = new Dictionary<int, string>();
greek.Add(1, "Alpha");
greek.Add(2, "Beta");
string secondGreek = greek[2];  // 得到的结果为:Beta

但现在在这个字典里有不同的键拥有相同的值,如下:

Dictionary<int, string> greek = new Dictionary<int, string>();
greek.Add(1, "Alpha");
greek.Add(2, "Beta");
greek.Add(3, "Beta");
string secondGreek = greek[2];

如何通过值获取到所有对应的键呢?比如这里期望的结果是:

var result = greek.GetKeywByValue("Beta"); // 期望结果:2,3
回复 [×]
提交评论
请输入评论内容

3 个回答

  • 0

    使用LINQ创建一个关于字典的静态扩展方法,如下:

    完整示例代码如下:

    Rector的个人主页

    Rector

    2020-05-18 回答

    • 0

      使用LINQ查询实现的另一种方式,如下:

      完整示例代码如下:

      Rector的个人主页

      Rector

      2020-05-18 回答

      • 0

        使用foreach循环遍历字典的每一项,对比找出与给定值相同的对应的键,如下:

        Rector的个人主页

        Rector

        2020-05-18 回答

        我来回答