Возможный дубликат:
Как проверить наличие значений NULL в перегрузке оператора '==' без бесконечной рекурсии?
Когда я перегружаю оператор == для объектов, я обычно пишу что-то вроде этого:
Код: Выделить всё
public static bool operator ==(MyObject uq1, MyObject uq2) {
if (((object)uq1 == null) || ((object)uq2 == null)) return false;
return uq1.Field1 == uq2.Field1 && uq1.Field2 == uq2.Field2;
}