Maison >développement back-end >C++ >Comment puis-je récupérer efficacement les clés de dictionnaire en fonction des valeurs en C# ?

Comment puis-je récupérer efficacement les clés de dictionnaire en fonction des valeurs en C# ?

DDD
DDDoriginal
2024-12-30 21:19:23151parcourir

How Can I Efficiently Retrieve Dictionary Keys Based on Values in C#?

Récupération de clés de dictionnaire basées sur des valeurs en C#

En C#, les dictionnaires sont des paires clé-valeur où chaque clé unique correspond à une valeur unique . Cependant, la récupération de la clé à partir d'une valeur n'est pas directement prise en charge. Cet article propose des solutions efficaces pour relever ce défi.

Utilisation d'une recherche

Étant donné que les valeurs d'un dictionnaire peuvent ne pas être uniques, vous devez effectuer une recherche pour trouver la clé correspondante. Ceci peut être réalisé en utilisant la méthode FirstOrDefault de la classe Queryable comme suit :

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

Cette ligne parcourt le dictionnaire à l'aide de l'expression lambda et renvoie la première clé où la valeur associée correspond à "one".

Utiliser un dictionnaire inverse

Si les valeurs du dictionnaire sont garanties comme étant uniques et sont moins fréquentes inséré que lu, vous pouvez créer un autre dictionnaire où les valeurs deviennent des clés et vice versa. Ce dictionnaire inverse peut accélérer la récupération des clés :

Dictionary<string, string> inverseTypes = new Dictionary<string, string>();

foreach (var item in types)
{
    inverseTypes[item.Value] = item.Key;
}

string myKey = inverseTypes["one"];

Cette approche permet une recherche directe des clés par valeurs mais nécessite de conserver à la fois les dictionnaires d'origine et inverse.

HashTable ou SortedLists

HashTable ou SortedLists

Les tables de hachage et les listes triées ne sont pas aussi bien adaptées à la récupération de clés par valeur que les dictionnaires. Ils ne constituent généralement pas un moyen efficace de rechercher une clé basée sur une valeur spécifique. Les dictionnaires sont spécialement conçus pour gérer efficacement les paires clé-valeur.

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