Maison >développement back-end >C++ >Comment puis-je récupérer efficacement les clés de dictionnaire en fonction des valeurs en 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!