Pregunta

Hasta donde yo sé, no hay un equivalente directo en C #. Mi idea actual es usar un Diccionario con un IEqualityComparer personalizado, que verifica la igualdad de referencia.

Sin embargo, esto parece perder la ventaja obtenida con el hash. ¿Hay alguna manera de obtener un hashcode individual de cada objeto diferente? ¿O es esto imposible y debería usar algún otro enfoque?

¿Fue útil?

Solución

Puede usar RuntimeHelpers.GetHashCode (objeto) que llama a object.GetHashCode () de forma no virtual: este es el equivalente de System.identityHashcode en Java. Creo que eso es lo que buscas. Por lo tanto, su IEqualityComparer solo lo usaría para hashing y object.ReferenceEquals para igualdad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top