我正在实现一个equals方法,其中一个相等条件是两个日期匹配。我目前的代码是:
public override bool Equals(object obj)
{
if (obj == null || obj.GetType() != typeof(Appointment))
return false;
Appointment other = obj as Appointment;
bool equal = true;
equal = (this.date == null ? (other.date == null) : (this.date.Equals(other.date)));
//more stuff here
return equal
}
当我尝试构建它时,我收到一条警告,指向other.date == null语句,指出检测到无法访问的代码
然而,当我用它替换它时:
if (this.date == null)
equal = other.date == null;
else
equal = (this.date.Equals(other.date));
我没有得到这样的警告
我错过了什么?
答案 0 :(得分:0)
当数据类型是" object"时,我没有收到这样的警告,但是一旦我将数据类型更改为" DateTime"我就会得到它。所以它与数据类型有关。日期时间不能为空。无论如何你应该检查"其他"为空:
'Airplane' => 'Arln' ; 'Good Day' => 'Go a'