¿Por qué usar GetHashCode () sobre Equals ()?

HashSet<T>.Add primero compara los resultados deGetHashCode. Si esos son iguales, llama aEquals.

Ahora, mi entendimiento es para implementarGetHashCode, alguna cos debe hacerse con los campos de un objeto. Un ejemplo simple de implementación se puede encontrar enCuál es el mejor algoritmo para un System.Object.GetHashCode reemplazado?.

En mi prueba que compara ambos en 1,000,000 de pares de objetos llenos de datos aleatorios, el rendimiento es más o menos igual entre los dos. @GetHashCode se implementa como en el ejemplo vinculado,Equals simplemente llama aEquals en todos los campos. Entonces, ¿por qué querría usarGetHashCode encimaEquals ?

Respuestas a la pregunta(5)

Su respuesta a la pregunta