所以在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);
}