Como ya sabe, GetHashCode devuelve un valor semi exclusivo que se puede usar para identificar una instancia de objeto en una colección. Como buena práctica, se recomienda anular este método e implementar el suyo propio.Anulación de GetHashCode
Mi pregunta es: ¿anulas este método cuando trabajas en objetos personalizados? Si es así, ¿qué algoritmo utilizas para generar la identificación única?
Estaba pensando en generar un GUID y luego obtener datos enteros de ese identificador.
tener una lectura de [esta cuestión] (http: // stackoverflow.com/questions/263400/what-is-the-best-algorithm-for-an-overridden-system-object-gethashcode) y sus respuestas. Describe una buena implementación del código hash. También hay una buena discusión sobre la superación de 'GetHashCode' para objetos mutables [aquí] (http://stackoverflow.com/questions/873654/overriding-gethashcode-for-mutable-objects-c). – adrianbanks
No sé qué significa "semi-único" ... un valor es único o no lo es, y un código hash no es exclusivo. Por lo tanto, no le permite identificar un objeto en una lista. Y no es "una buena práctica" anular 'GetHashCode', es algo que hace cuando * necesita * (por ejemplo, para usar el objeto como clave en un diccionario), no porque crea que es una buena práctica. –
Usar el objeto como clave se puede considerar como la identificación del objeto en una colección; es exactamente por eso que estoy buscando información sobre cuál es el mejor algoritmo para construir el identificador. A partir de identidades semi exclusivas: http://www.west-wind.com/Weblog/posts/4741.aspx –