gpt4 book ai didi

c# - 运算符重载问题

转载 作者:行者123 更新时间:2023-11-30 19:52:10 25 4
gpt4 key购买 nike

我正在尝试为自定义类编写运算符重载,但不知道如何处理 null 比较。

Class Customer
{
int id;

public static bool operator ==(Customer a, Customer b)
{
//When both a and b are null don't know how to compare as can't use == in here as
//it will fall into loop
}
}

问题是当 a 和 b 都为 null 结果为真但不确定如何在不使用 == 的情况下检查它。

最佳答案

if (Object.ReferenceEquals(a,b))
return true;

ReferenceEquals() 检查它们是否指向完全相同的对象(或者它们是否都为空)

(作为一般规则,最好通过调用 ReferenceEquals 来启动 Equals() 方法,特别是如果该方法的其余部分很复杂。它会生成类似 a==a 的内容快速返回 true,而不必检查每个元素。)

关于c# - 运算符重载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/389459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com