c#比较操作的奇怪结果

时间:2012-10-02 17:40:39

标签: c# asp.net

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

strange null comparation result

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

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

1 个答案:

答案 0 :(得分:12)

嗯,你可以轻松编写自己的类,从而得到结果:

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

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

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

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