Я перегружаю оператор lessthan в С# и мне интересно, нужно ли это проверять на нуль. Ниже вы можете найти пример:
public static bool operator <(MyClass x, MyClass y)
{
if (x == null && y == null)
{
return false;
}
if (x == null)
{
return true; //false?
}
if (y == null)
{
return false; //true?
}
return x.Value < y.Value;
}
Или это правильно:
public static bool operator <(MyClass x, MyClass y)
{
return x.Value < y.Value;
}
Инструкции по этому поводу не нашел, но может что-то упустил.