首页 >后端开发 >C++ >如何在 C# 中从值中检索字典键?

如何在 C# 中从值中检索字典键?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-27 16:20:15383浏览

How to Retrieve Dictionary Keys from Values in C#?

在 C# 中按值检索字典键

在 C# 中,通过关联值获取字典键需要标准字典之外的额外查找操作功能。实现方法如下:

使用 FirstOrDefault() 方法:

如果不能保证字典中的值是唯一的,您可以使用 FirstOrDefault( ) Enumerable 类的方法来查找第一个匹配值:

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

// Get the key associated with the value "one"
string myKey = types.FirstOrDefault(x => x.Value == "one").Key;

在此在这种情况下,myKey 将包含值“1”。请注意,如果字典中的多个值具有相同的值,则此方法可能不会返回键。

创建逆向字典:

或者,如果值是唯一的并且插入的频率低于读取的频率,您可以创建一个逆字典,其中值是键,键是值:

// Create an inverse dictionary
Dictionary<string, string> inverseTypes = new Dictionary<string, string>();

// Populate the inverse dictionary
foreach (var kvp in types)
{
    inverseTypes[kvp.Value] = kvp.Key;
}

// Get the key associated with the value "one"
string myKey = inverseTypes["one"];

与这种方法,可以直接使用逆字典来执行查找操作,而不需要单独的查找。请记住,由于创建逆字典,此选项会涉及额外的内存开销。

以上是如何在 C# 中从值中检索字典键?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn