MSDN dit:
Un code de hachage est une valeur numérique qui est utilisé pour identifier un objet
au cours de l'égalité des tests. Il peut aussi servir comme un indice d'un objet
dans une collection.
La méthode GetHashCode est adapté pour une utilisation dans les algorithmes de hachage et de
structures de données comme une table de hachage.
L'implémentation par défaut de la méthode GetHashCode n'
garantie unique de valeurs de retour pour les différents objets. En outre, l'
.NET Framework ne garantit pas la valeur par défaut de mise en œuvre de la
Méthode GetHashCode, et la valeur renvoyée sera le même entre les
les différentes versions de la .NET Framework. Par conséquent, la valeur par défaut
la mise en œuvre de cette méthode ne doit pas être utilisé comme un objet unique
identificateur de hachage fins.
La méthode GetHashCode peut être remplacée par un type dérivé. Valeur
les types de remplacer cette méthode pour fournir une fonction de hachage qui est
approprié pour ce type et de fournir un utile de distribution dans un
table de hachage. Pour l'unicité, le code de hachage doit être basée sur la valeur
d'un champ d'instance ou de la propriété au lieu d'un champ statique ou
de la propriété.
Les objets utilisés comme un élément clé dans une table de hachage de l'objet doit également remplacer la
Méthode GetHashCode parce que ces objets doit générer leur propre hash
code. Si un objet utilisé comme une clé n'est pas utile
la mise en œuvre de GetHashCode, vous pouvez spécifier un code de hachage fournisseur
lorsque la table de hachage de l'objet est construit. Avant l' .NET Framework
la version 2.0, le code de hachage prestataire était fondé sur la
Système.Les Collections.IHashCodeProvider interface. A partir de la version
2.0, le code de hachage fournisseur est basé sur le
Système.Les Collections.IEqualityComparer interface.
Fondamentalement, des codes de hachage existent pour faire les tables de hashage possible.
Deux objets égaux sont garantis pour l'égalité des hashcodes.
Deux inégalité des objets ne sont pas la garantie d'avoir inégale hashcodes (que l'on appelle une collision).