"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment implémenter un dictionnaire 1 à 1 bidirectionnel en C #?

Comment implémenter un dictionnaire 1 à 1 bidirectionnel en C #?

Publié le 2025-02-26
Parcourir:684

How to Implement a Bidirectional 1-to-1 Dictionary in C#?

Création d'un dictionnaire bidirectionnel 1: 1 dans c #

Cet article relève le défi de créer un dictionnaire bidirectionnel en un à un en C #. L'exigence est un dictionnaire où chaque clé a une valeur unique, et vice-versa, permettant des recherches à la fois de la clé et de la valeur.

Solution: une implémentation de bidictionnaire personnalisée

Au lieu de s'appuyer sur les dictionnaires C # standard, une classe BidictionaryOnetoOne est la solution la plus efficace. Cette classe utilise deux dictionnaires internes: un mappage tFirst à tsecond , et l'autre mappage tsecond à tfirst . Ce double mappage garantit l'unicité et l'accès bidirectionnel.

La classe BidictionaryOnetoOne inclut plusieurs méthodes pour la gestion efficace des données:

  • méthodes sûres (avec exceptions): add , getbyFirst , getBySEcond , retirebyfirst , et SupprimeBySecond lance des exceptions si la clé ou la valeur spécifiée n'est pas trouvée. Cela fournit une manipulation d'erreur claire.
  • try méthodes (sans exceptions): tryadd , tryGetByFirst , trygetBySEND , tryreMovebyFirst , et tryRemoveBySecond return true sur le succès et false sinon, en évitant les exceptions pour une gestion des erreurs plus flexible.
  • Méthodes d'utilité: count renvoie le nombre de paires de valeurs clés, et clear supprime toutes les entrées.

Cette classe personnalisée BidictionaryOnetoOne fournit une solution robuste et efficace pour gérer les relations bidirectionnelles 1: 1 dans C #. Sa gestion claire des erreurs et ses fonctionnalités complètes le rendent idéal pour divers scénarios de gestion des données nécessitant des appariements de valeur clé uniques avec des capacités de recherche efficaces de chaque côté.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3