我有这个:
Dictionary<integer, string> dict = new Dictionary<integer, string>();
我想选择字典中包含值abc
的所有项目。
是否有内置功能可让我轻松完成此操作?
答案 0 :(得分:38)
使用LINQ,合理地简单
var matches = dict.Where(pair => pair.Value == "abc")
.Select(pair => pair.Key);
请注意,这甚至不会有一点效率 - 它是O(N)
操作,因为它需要检查每个条目。
如果您需要经常这样做,您可能需要考虑使用其他数据结构 - Dictionary<,>
专门用于按键快速查找。
答案 1 :(得分:0)
内置功能?不好意思......但另一种(不那么漂亮)方式是使用foreach(KeyValuePair<integer, string> ...