Comment implémenter un dictionnaire avec deux clés?
À l'aide de C#, je voudrais trouver une façon de mettre en place quelque chose comme un dictionnaire qui dépend de deux objets principaux.
J'ai un objet et d'une chaîne. Pour ces deux valeurs que je veux affecter une valeur de type double. Alors, quelle structure doit-je utiliser? Ou comment puis-je mettre en œuvre une telle structure?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Vous pourriez avoir une classe personnalisée qui regroupe les deux propriétés, remplacer la GetHashCode méthode sur elle et puis avoir un
IDictionary<CustomClass, double>
.Essayez d'utiliser quelque chose comme ça
Si vous êtes en utilisant .NET 3.5, vous ne pouvez pas utiliser les Tuples, parce que ceux qui ont été ajoutés .NET 4.
Mais vous pouvez facilement créer une classe qui contiendra à la fois de vos clés et qui peut être utilisé comme une clé dans un dictionnaire. Seulement des choses à faire est de remplacer Est égal à() et GetHashCode() méthodes de votre classe de clé, de sorte que le Dictionnaire peut l'utiliser comme une clé correctement.
Ceux-ci devraient être mises en œuvre logicaly par assimiler ou de hachage à la fois de vos clés. Et certaines autres informations en la matière : GetHashCode vs est Égale à.
Vous n'avez pas nécessairement besoin. Si votre objet a écrasé la GetHashCode membre de l'Objet.
Création d'une classe pour avoir votre clé:
Alors: