簡體   English   中英

Null不是null?

[英]Null is not null?

以下代碼

        if (_LastMouseClickArea != null)
        {
            if (_LastMouseClickArea.GridItem == GridItem.DataCell)
            {...

失敗,因為_LastMouseClickArea為null。 我知道這聽起來很傻,所以我來到這里。

從即時窗口:

_LastMouseClickArea != null
true
_LastMouseClickArea 
null
_LastMouseClickArea == null
false
_LastMouseClickArea.GetType()
'((object)(this._LastMouseClickArea))' is null

什么可能導致這種行為?

你有可能有競爭條件嗎? 因為在檢查時它不是null,但是在你能夠使用它之前,線程將它設置為null。

解決方法:在提交之前,我記得做一些橡皮鴨調試。 這導致我檢查如何實現== ,當然,有一些奇怪的P / Invoke調用,其中null != null等於true

所以在這里,如果有人遇到同樣的問題,將來參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM