[英]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.