C#iequatable == example,为什么使用(object)myInstace来测试null

时间:2018-02-12 13:54:44

标签: c# iequatable

所以在C#给出的一个例子中。

https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1.equals?view=netframework-4.7.1

他们在一个类中添加了== - 运算符,但我不理解的部分是他们使用(object)target == null来检查空值而不是target == null的原因。

public static bool operator ==(PotentialGrabTarget target1, PotentialGrabTarget target2)
{
    //~~~~~ My Question is for the next line of code ~~~~~
    if (((object)target1) == null || ((object)target2) == null) //<<<<<<                         
        return System.Object.Equals(target1, target2);

    return target1.Equals(target2);
}

0 个答案:

没有答案