I have this:
Dictionary dict = new Dictionary();
I want to select all the items in the dictionary
Built-in function? No sorry... but another (not so beautiful) way is to iterate using foreach(KeyValuePair<integer, string> ...
Well it's reasonably simple with LINQ:
var matches = dict.Where(pair => pair.Value == "abc")
.Select(pair => pair.Key);
Note that this won't be even slightly efficient - it's an O(N)
operation, as it needs to check every entry.
If you need to do this frequently, you may want to consider using another data structure - Dictionary<,>
is specifically designed for fast lookups by key.