2

私のc#コード(asp.netコードビハインド)で奇妙な動作があります。ウォッチウィンドウのスクリーンショットをここに投稿します。

奇妙なnull比較結果

nullのオブジェクトユーザーがあり(ご覧のとおり)、compare: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 に答える