在 C# 中按值获取字典键

Muhammad Maisam Abbas 2024年2月16日
  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