我對我的C#代碼(後面的asp.net代碼)有一個奇怪的行爲。我張貼在這裏監視窗口的截圖:c#比較操作奇怪的結果
我有一個是空的對象用戶(因爲你可以看到)和比較:用戶== null,則返回錯誤。我不明白爲什麼!
這裏有人可以解釋爲什麼會發生這種情況嗎?
我對我的C#代碼(後面的asp.net代碼)有一個奇怪的行爲。我張貼在這裏監視窗口的截圖:c#比較操作奇怪的結果
我有一個是空的對象用戶(因爲你可以看到)和比較:用戶== null,則返回錯誤。我不明白爲什麼!
這裏有人可以解釋爲什麼會發生這種情況嗎?
那麼你可以很容易地編寫自己的類,它將使這一結果:
public class Evil
{
public static bool operator ==(Evil lhs, Evil rhs)
{
return false;
}
public static bool operator !=(Evil lhs, Evil rhs)
{
return false;
}
}
我們只是猜測,此刻...但解釋症狀。
(我只是試着重寫的ToString,我不能得到所需的輸出。)
能不能介紹一下'user.ToString()'添加監視?另外,你有權訪問聲明的'user'類型的代碼嗎? – StriplingWarrior
你試過null ==用戶嗎? –
你是否在用戶上重載了==運算符? http://stackoverflow.com/questions/155458/c-sharp-object-is-not-null-but-myobject-null-still-return-false –