在一个例子中,我的教授已经实现了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必要的?