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
Libérer: 2024-12-27 16:20:15
original
377 Les gens l'ont consulté

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;
Copier après la connexion

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"];
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal