c#比较操作的奇怪结果

Zel*_*Ady 2 c# asp.net

我的c#代码(后面的asp.net代码)有一个奇怪的行为.我在这里发布了观察窗口的截图:

奇怪的空比较结果

我有一个null的对象用户(如你所见)和compare:user == null返回false.我不明白为什么!

这里有人可以解释为什么会这样吗?

Jon*_*eet 12

那么你可以轻松编写自己的类来获得结果:

public class Evil
{
    public static bool operator ==(Evil lhs, Evil rhs)
    {
        return false;
    }

    public static bool operator !=(Evil lhs, Evil rhs)
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我们现在只是猜测......但这解释了症状.

(我刚刚尝试重写ToString,但我无法获得所需的输出.)