3
A
回答
4
這是一個調試器錯誤。在C#語言規範下,截圖中明顯的行爲是不可能的。
這可能是一個CLR錯誤,但這是不太可能的。 if
沒有錯誤。
創建一個小的,可執行的repro並在MS Connect上報告它。
您可以在if
語句正文中添加斷言rule == null
,它不會觸發。這證明該值實際上是預期的null
。
作爲一個有趣但不太可能的替代理論,可能會有一個超載和破壞的運算符等於。
以我的經驗調試器的錯誤並不罕見。多年來我找到了一些。沒有太嚴重。調試器是一個非常複雜的機器,它以非常有創意的方式檢查正在運行的程序。很難得到100%的權利。
2
唯一的解釋(VS中不太可能出現的錯誤)是源版本與編譯版本(編譯版本=調試符號)不匹配。這可以在Visual Studio中使用此設置。
調試(菜單) - >選項(菜單) - >調試(標籤) - >常規 - > 「要求源文件與原始版本完全匹配」
如果你之前有if(rule != null)
你所做的只是在代碼中將其更改爲if(rule == null)
,但調試符號沒有更新,這可以解釋屏幕上的行爲。
+0
這也是合理的。 – usr
相關問題
- 1. 條件檢查與異常處理
- 2. C/LF條件檢查C
- 3. 錯誤檢查異常的C++流
- 4. 檢查存在或發現異常?
- 5. Java的異常行爲檢查循環條件
- 6. 檢查異常差異
- 7. Visual C# - 運行時檢查異常
- 8. 已檢查異常
- 9. Java檢查異常
- 10. 檢查與未檢查的異常
- 11. Eclipse條件斷點。如何檢查是否發生異常?
- 12. 什麼是靜態異常檢查和動態異常檢查?
- 13. 未經檢查的異常
- 14. NSXMLParser表現異常
- 15. 在將記錄添加到sharepoint 2010中的列表時檢查條件時出現「空引用異常」
- 16. goto如果條件表現異常如何限制此?
- 17. C#NAudio內存異常處理大文件時出現異常
- 18. 設計模式常見條件檢查
- 19. 使用try catch的C#條件檢查
- 20. 將未經檢查的異常包裝到Java中的已檢查異常中
- 21. JPA包裝將未檢查的異常轉換爲檢查的異常?
- 22. ARM的C++異常處理 - 通用異常處理表條目的格式
- 23. 檢查任何異常
- 24. 抽象異常檢查
- 25. 檢查異常DOM修改
- 26. 檢查SQL錯誤/異常
- 27. userdefined檢查異常處理
- 28. NoSuchElementException異常甚至檢查
- 29. 吃異常或檢查null?
- 30. 檢查異常覆蓋java
你可以懸停在規則值本身嗎? – TimS
如果你把'rule'放到手錶窗口中,'rule'包含什麼值? – ibiza
我看到這個類型是來自EF的動態代理,可能是bug的一部分(懶加載或其他東西) – ibiza