我有这个:

Dictionary<integer, string> dict = new Dictionary<integer, string>();

我想选择字典中包含值abc的所有项目。

有内置的功能可以让我轻松地做到这一点吗?

最佳答案

使用LINQ相当简单:

var matches = dict.Where(pair => pair.Value == "abc")
                  .Select(pair => pair.Key);

请注意,这甚至效率不高-这是O(N)操作,因为它需要检查每个条目。

如果您需要经常执行此操作,则可能需要考虑使用其他数据结构-Dictionary<,>是专门为通过键进行快速查找而设计的。

关于c# - 获取字典中包含值x的所有键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14146048/

10-13 06:27