Comment convertir Dictionnaire<> table de hachage en C#?
Je vois beaucoup de question/réponses sur la façon de convertir une table de hachage pour un Dictionnaire, mais comment puis-je convertir un Dictionnaire à une table de hachage?
Et pourquoi auriez-vous besoin? Une table de hachage est très spécifique en ce que la valeur calculée sur la clé de produit de l'emplacement de la valeur... et un dictionnaire est juste une ligne droite (clé, valeur) de la collection. Pourquoi voulez-vous convertir un dictionnaire à une table de hachage?
Au niveau le plus simple, je suis paresseux. L'objet de type
Ce qui en soi n'est pas une raison pour les utiliser. Les dictionnaires et les tables de hachage sont différents animaux qui sont utilisés dans différentes situations. Vous le savez, une List<int> est également utilisé dans beaucoup d'endroits... Alors pourquoi ne pas l'utiliser? :-s
Dictionnaire est juste un générique de table de hachage. Il sert le même but.
C'est une raison de l'utiliser si je n'ai pas envie d'aller à travers tout le code pour faire fonctionner les choses avec un Dictionnaire.
Au niveau le plus simple, je suis paresseux. L'objet de type
Hashtable
est utilisé dans beaucoup d'endroits.Ce qui en soi n'est pas une raison pour les utiliser. Les dictionnaires et les tables de hachage sont différents animaux qui sont utilisés dans différentes situations. Vous le savez, une List<int> est également utilisé dans beaucoup d'endroits... Alors pourquoi ne pas l'utiliser? :-s
Dictionnaire est juste un générique de table de hachage. Il sert le même but.
C'est une raison de l'utiliser si je n'ai pas envie d'aller à travers tout le code pour faire fonctionner les choses avec un Dictionnaire.
OriginalL'auteur jpints14 | 2012-03-29
Vous devez vous connecter pour publier un commentaire.
La façon la plus simple est d'utiliser le constructeur de la table de hachage:
OriginalL'auteur asktomsk
Essayer cette
OriginalL'auteur Nazar Tereshkovych
Semble assez rares à vouloir en faire, mais en plus simple:
(en supposant qu'aucun insolite "met en œuvre tapé contrôle d'égalité, mais pas non typée contrôle d'égalité", etc)
ToHashTable
méthode d'extension et le tour est joué!Il y a même un constructeur qui fait la même chose.
C'est ce que je pensais faire. Je me demandais si il était pas si évident de le faire. Cependant, je vous remercie!
OriginalL'auteur Marc Gravell
Vous pourriez envisager d'utiliser le
Hashtable
surcharge du constructeur qui prend unIEqualityComparer
paramètre:De cette façon, votre table de hachage utilise le même
Comparer
comme le dictionnaire. Par exemple, si votre dictionnaire utilisé une casse de chaîne de clé, vous pourriez voulez que votreHashtable
à être sensible à la casse. E. g.:OriginalL'auteur Joe