7
votes

Quelle est la meilleure collection C # avec deux clés et un objet?

J'ai une catégorie Menumanager à laquelle chaque module peut ajouter une clé et et un élément à charger dans le contenu principal: xxx

donc le client Le module enregistre ses vues comme ceci: xxx

alors plus tard pour apporter une vue spécifique à l'avant, je dis: xxx > Et pour obtenir la vue par défaut (première vue enregistrée), je dis: xxx

et cela fonctionne bien.

Cependant, je veux éliminer le "Odeur de code" avec le trait d'union qui sépare le nom du module et le nom de la vue, je voudrais donc vous inscrire à cette commande: xxx

mais quelle est la meilleure façon de remplacer mon dictionnaire actuel, par exemple Ce qui vient à l'esprit, ce sont ceux-ci:

  • Dictionnaire (n'existe pas)
  • Dictionnaire , objet>
  • Dictionnaire

    La nouvelle collection doit pouvoir le faire:

    • Obtenez une vue avec le module et la touche View (par ex. "Client", "Aide" Retourne 1 vue)
    • Obtenez une collection de toutes vues par clé de module (par exemple. "Client" retourne 5 vues)

0 commentaires

3 Réponses :


1
votes

Qu'est-ce que vous décrivez des sons comme une clé composite dans le dictionnaire, plutôt que deux clés. Je vous recommanderais de mettre en place une structure simple pour représenter cette clé:

struct Section {
   string Area { get; set; } 
   string Area2 { get; set; }

   // override ToHashCode, Equals and implement IComparable.
}


0 commentaires

13
votes

Réfléchissez strictement à vos critères, utilisez un dictionnaire dictionnaire > ; xxx


0 commentaires

4
votes

0 commentaires