2

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

奇怪的空比较结果

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

有人可以解释为什么会发生这种情况吗?

4

1 回答 1

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,但无法获得所需的输出。)

于 2012-10-02T17:43:25.900 回答