Obtaining Dictionary Key Using Value in C#
In C#, retrieving a dictionary key based on its corresponding value can be achieved through different approaches.
Lookup with FirstOrDefault()
For cases where values may not be unique, a straightforward method involves using the FirstOrDefault() extension method on the dictionary. This finds the first element that satisfies a given condition:
var myKey = types.FirstOrDefault(x => x.Value == "one").Key;
Creating an Inverse Dictionary
Alternatively, when values are unique and inserted infrequently, creating an inverse dictionary can optimize key lookup:
var inverseTypes = types.ToDictionary(x => x.Value, x => x.Key); var myKey = inverseTypes["one"];
In conclusion, the preferred approach depends on the uniqueness of values and the frequency of value insertions relative to reads. Lookup using FirstOrDefault() is suitable for non-unique values or infrequent insertions. Creating an inverse dictionary provides improved performance when values are unique and inserted less frequently than read.
The above is the detailed content of How to Find a Dictionary Key by its Value in C#?. For more information, please follow other related articles on the PHP Chinese website!