Maison >développement back-end >C++ >Comment puis-je récupérer une clé de dictionnaire à partir de sa valeur en C# ?

Comment puis-je récupérer une clé de dictionnaire à partir de sa valeur en C# ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-29 00:41:10390parcourir

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

Récupération de la clé du dictionnaire à partir de sa valeur

En C#, discerner la clé correspondant à une valeur dans un dictionnaire peut être réalisé grâce à quelques méthodes . Le caractère unique naturel des clés dans un dictionnaire empêche la récupération directe de la clé par valeur.

Utilisation de FirstOrDefault()

Étant donné que les valeurs du dictionnaire ne sont pas intrinsèquement uniques, une opération de recherche est nécessaire pour localiser la clé souhaitée. En utilisant FirstOrDefault(), nous pouvons rechercher la paire clé-valeur où la valeur correspond à l'entrée et renvoyer sa clé :

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

Création d'un dictionnaire inverse

Une solution alternative, adaptée aux cas où les valeurs sont uniques et rarement insérées, consiste à construire un dictionnaire inverse. Dans cette approche, les valeurs servent de clés et les clés de valeurs :

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

Bien que HashTable ou SortedLists offrent des structures de données alternatives, elles ne fournissent généralement pas de solution native pour récupérer les clés par valeur. Les approches susmentionnées restent efficaces et efficientes pour la plupart des scénarios.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn