[C#] Comment redéfinir GetHashCode() ?
Bonjour,
j'ai une classe Point définie par deux coordonnées (X,Y) et je cherche à redéfinir la méthode GetHashCode de sorte à obtenir un identifiant entier unique qui soit égal pour deux instances de même coordonnées, et différentes sinon. Comment pourrais-je m'y prendre ?
Merci d'avance.
Re: [C#] Redéfinir GetHashCode()
Citation:
Envoyé par pornik
Bonjour,
j'ai une classe Point définie par deux coordonnées (X,Y) et je cherche à redéfinir la méthode GetHashCode de sorte à obtenir un identifiant entier unique qui soit égal pour deux instances de même coordonnées, et différentes sinon. Comment pourrais-je m'y prendre ?
Merci d'avance.
Tel que le problème est posé, la réponse est simple : ce n'est pas possible.
Si X et Y sont des Int32, il y a 2^64 combinaisons possibles : on ne peut pas les identifier de manière unique avec un Int32!
Si c'est pour utiliser une collection de type HashTable, l'unicité n'est pas requise et la solution de del-dongo est valide.
Ceci dit, la structure System.Drawing.Point n'offre-t-elle pas déjà cette fonction?