我有这个:
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/