在 C# 中按值获取字典键

Muhammad Maisam Abbas 2023年1月30日 2021年4月29日
  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 或语言集成查询用于在 C# 中集成 SQL 查询的功能。我们可以使用 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