我有这个:
Dictionary<integer, string> dict = new Dictionary<integer, string>();
我想选择字典中包含 value 的所有项目abc
。
是否有一个内置功能可以让我轻松做到这一点?
我有这个:
Dictionary<integer, string> dict = new Dictionary<integer, string>();
我想选择字典中包含 value 的所有项目abc
。
是否有一个内置功能可以让我轻松做到这一点?
那么使用 LINQ相当简单:
var matches = dict.Where(pair => pair.Value == "abc")
.Select(pair => pair.Key);
请注意,这甚至不会有一点效率 - 这是一个O(N)
操作,因为它需要检查每个条目。
如果您需要经常执行此操作,您可能需要考虑使用另一种数据结构——Dictionary<,>
专为按键快速查找而设计。
内置功能?不抱歉......但另一种(不是那么漂亮)的方法是迭代使用foreach(KeyValuePair<integer, string> ...