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

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

Mary-Kate Olsen
发布: 2024-12-27 16:20:15
原创
377 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板