¿cuál es la mejor práctica para sobrecargar == operador que compara dos instancias de la misma clase cuando se trata de comparación de referencia nula?C#: mejor práctica para sobrecargar == operador cuando se trata de referencias nulas
MyObject o1 = null;
MyObject o2 = null;
if (o1 == o2) ...
static bool operator == (MyClass o1, MyClass o2)
{
// ooops! this way leads toward recursion with stackoverflow as the result
if (o1 == null && o2 == null)
return true;
// it works!
if (Equals(o1, null) && Equals(o2, null))
return true;
...
}
¿Cuál es el mejor enfoque para manejar referencias nulas en comparación?
Los 'object.ReferenceEquals (O2, null))' cheque no es estrictamente necesario. Las probabilidades son lo primero que 'Equals' hace es hacer la misma comprobación. – Gabe