Maison > développement back-end > C++ > Comment puis-je récupérer efficacement plusieurs clés associées à une valeur unique dans un dictionnaire .NET ?

Comment puis-je récupérer efficacement plusieurs clés associées à une valeur unique dans un dictionnaire .NET ?

Patricia Arquette
Libérer: 2025-01-21 03:31:13
original
772 Les gens l'ont consulté

How Can I Efficiently Retrieve Multiple Keys Associated with a Single Value in a .NET Dictionary?

Dictionnaire générique .NET : gestion de plusieurs clés pour une valeur unique

Les objets

Standard .NET Dictionary offrent un accès clé-valeur facile. Cependant, la récupération des clés associées à une valeur spécifique devient complexe lorsque plusieurs clés correspondent à la même valeur. Cet article présente une solution utilisant un dictionnaire bidirectionnel personnalisé.

Créer un dictionnaire bidirectionnel

Pour pallier cette limitation, nous créons une BiDictionary<TFirst, TSecond> classe. Cette classe gère les relations clé-valeur dans les deux sens, à l'aide de deux dictionnaires internes : firstToSecond (clé vers valeur) et secondToFirst (valeur vers clés).

Ajout d'entrées et accès aux données

La méthode Add gère efficacement l'ajout de nouvelles paires clé-valeur. Il vérifie les entrées existantes et crée de nouvelles listes si nécessaire pour stocker plusieurs clés pour une seule valeur.

La classe BiDictionary fournit des indexeurs pour l'accès clé-à-valeur et valeur-à-clé. Pour éviter toute ambiguïté, des méthodes dédiées, GetByFirst et GetBySecond, sont également incluses.

Exemple illustratif

Considérons un exemple pratique :

<code class="language-C#">BiDictionary<int, string> greek = new BiDictionary<int, string>();
greek.Add(1, "Alpha");
greek.Add(2, "Beta");
greek.Add(5, "Beta");

ShowEntries(greek, "Alpha"); // Output: Alpha: [1]
ShowEntries(greek, "Beta"); // Output: Beta: [2, 5]
ShowEntries(greek, "Gamma"); // Output: Gamma: []</code>
Copier après la connexion

La méthode ShowEntries montre la récupération des clés pour une valeur donnée. Remarquez comment "Beta" renvoie correctement les deux clés associées (2 et 5). Cela montre la capacité du dictionnaire bidirectionnel à gérer plusieurs clés par 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!

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