he implementado una clase que sobrecarga las ==
y !=
operadores.Anulación de Igualdad Operadores
Esto parece funcionar bien; sin embargo, recibo la advertencia 'type' defines operator == or operator != but does not override Object.Equals(object o)
.
bien, así que he implementado Iguales. Pero ahora recibo la advertencia 'type' defines operator == or operator != but does not override Object.GetHashCode()
.
termina esto en algún momento? ¿O me he metido en un sinfín de requisitos solo porque quiero sobrecargar ==
y !=
?
corrección terminología rápida: no hace * operadores de anulación * - * que * sobrecarga de ellos. –
Cuando se reemplaza 'Equals', se debe redefinir' GetHashCode' así, como se comprobará la igualdad sobre la base de una función hash. –
@IgorisAzanovas No, Igual no comprobará la igualdad sobre la base de una función hash (a menos que se sobrecarga y, específicamente, codificar esa manera). La función hash está ahí para admitir colecciones hash y no se espera que genere un valor único, solo uno que idealmente se usará con poca frecuencia. – Suncat2000