相关疑难解决方法(0)

'this'关键字是否可能等于null?

在一个例子中,我的教授已经实现了Equals如下:

public class Person {
    private string dni;

    // ...

    public override bool Equals(object o) {
        if (o == null)
            return (this == null);
        else {
            return ((o is Person) && (this.dni == (o as Person).dni));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我没有使用C#的经验,但据我所知,this在成员函数中不能为null(至少在C++和Java中,我知道的语言是这样)所以if看起来很奇怪.

我是对的还是c#中有任何组件我不知道哪个使测试成为this == null必要的?

.net c# oop equals

30
推荐指数
2
解决办法
2054
查看次数

标签 统计

.net ×1

c# ×1

equals ×1

oop ×1