2010-04-13 15 views

Respuesta

42

La implementación predeterminada de Iguales apoya la igualdad de referencia para los tipos de referencia , y igualdad bit a bit de los tipos de valor. La igualdad de referencia significa que las referencias de objeto que son comparadas se refieren al mismo objeto. Igualdad por bit significa que los objetos que se comparan tienen la misma representación binaria de .

http://msdn.microsoft.com/en-us/library/bsc2ak47.aspx

+3

Las cosas son en realidad más complicado para los tipos de valor: no es escapadas biwise comparación de igualdad. Consulte esta pregunta para obtener detalles http://stackoverflow.com/q/8315656/129073 – Gebb

+0

La secuencia es especial. string.equals es una igualdad bit a bit, mientras que string es un tipo de referencia. –

+4

@WillYu No igualdad de bits. Prueba si los personajes son iguales. La igualdad en términos de bits significaría que todos los metadatos .NET (como si la cadena está interna o no) serían los mismos. Tampoco es especial (en este sentido), simplemente anula Equals y sobrecarga el operador de igualdad (in). La implementación predeterminada para ello seguiría siendo la igualdad de referencia. – Aidiakapi

3

comprueba referencia es igual a menos que anule

Cuestiones relacionadas