我正在C#中重载小于号运算符,想知道是否需要检查 null。下面是一个示例:
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;
}
我在这方面没有找到任何指导。但也许我错过了什么。
ArgumentNullException
吧,孩子们,永远不要故意抛出NullReferenceException
。 - Dagrooms