当前位置:  开发笔记 > 编程语言 > 正文

操作员过载问题

如何解决《操作员过载问题》经验,为你挑选了1个好方法。

我试图为自定义类编写运算符重载,并且不知道如何处理空值比较.

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时结果为true但不确定如何在不使用==的情况下检查它.



1> James Curran..:
if (Object.ReferenceEquals(a,b))
     return true;

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

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

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有