Home >Backend Development >C++ >How Can I Retrieve a Dictionary Key from Its Value in C#?

How Can I Retrieve a Dictionary Key from Its Value in C#?

Barbara Streisand
Barbara StreisandOriginal
2024-12-29 00:41:10374browse

How Can I Retrieve a Dictionary Key from Its Value in C#?

Retrieving Dictionary Key from Its Value

In C#, discerning the key corresponding to a value within a Dictionary can be achieved through a few methods. The natural uniqueness of keys within a Dictionary precludes the direct retrieval of key by value.

Using FirstOrDefault()

Since Dictionary values are not inherently unique, a search operation is necessary to locate the desired key. By utilizing FirstOrDefault(), we can search for the key-value pair where the value matches the input and return its key:

var myKey = types.FirstOrDefault(x => x.Value == "one").Key;

Creating an Inverse Dictionary

An alternative solution, suitable for cases where values are unique and infrequently inserted, is to construct an inverse dictionary. In this approach, values serve as keys and keys as values:

var inverseTypes = types.ToDictionary(x => x.Value, x => x.Key);
var myKey = inverseTypes["one"];

While HashTable or SortedLists offer alternative data structures, they typically do not provide a native solution for retrieving keys by value. The aforementioned approaches remain effective and efficient for most scenarios.

The above is the detailed content of How Can I Retrieve a Dictionary Key from Its Value in C#?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn