Maison >développement back-end >C++ >Comment récupérer des clés de dictionnaire à partir de valeurs en C# ?

Comment récupérer des clés de dictionnaire à partir de valeurs en C# ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-27 16:20:15382parcourir

How to Retrieve Dictionary Keys from Values in C#?

Récupération des clés de dictionnaire par valeur en C#

En C#, l'obtention d'une clé de dictionnaire par sa valeur associée nécessite une opération de recherche supplémentaire au-delà du dictionnaire standard fonctionnalité. Voici comment cela peut être réalisé :

Utilisation de la méthode FirstOrDefault() :

S'il n'est pas garanti que les valeurs du dictionnaire sont uniques, vous pouvez utiliser la méthode FirstOrDefault( ) méthode de la classe Enumerable pour trouver la première valeur correspondante :

// Dictionary with string keys and values
Dictionary<string, string> types = new Dictionary<string, string>()
{
    { "1", "one" },
    { "2", "two" },
    { "3", "three" }
};

// Get the key associated with the value "one"
string myKey = types.FirstOrDefault(x => x.Value == "one").Key;

Dans ce cas, myKey contiendra la valeur "1". Notez que cette approche peut ne pas renvoyer de clé si plusieurs valeurs dans le dictionnaire ont la même valeur.

Création d'un dictionnaire inverse :

Alternativement, si les valeurs sont uniques et sont insérés moins fréquemment que lus, vous pouvez créer un dictionnaire inverse, où les valeurs sont des clés et les clés sont des valeurs :

// Create an inverse dictionary
Dictionary<string, string> inverseTypes = new Dictionary<string, string>();

// Populate the inverse dictionary
foreach (var kvp in types)
{
    inverseTypes[kvp.Value] = kvp.Key;
}

// Get the key associated with the value "one"
string myKey = inverseTypes["one"];

Avec cette approche, la recherche L'opération peut être effectuée directement à l'aide du dictionnaire inverse sans avoir besoin d'une recherche séparée. Gardez à l'esprit que cette option implique une surcharge de mémoire supplémentaire en raison de la création du dictionnaire inverse.

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