当前位置:  开发笔记 > 编程语言 > 正文

可能的意外参考比较按预期工作

如何解决《可能的意外参考比较按预期工作》经验,为你挑选了0个好方法。

我有类似以下代码:

this.Session[key] = "foo";

if ((this.Session[key] ?? string.Empty) == "foo")
{
    //do stuff
}

当然,这会产生"可能的非预期参考比较按预期工作"的情况.这里有很好的解决方案,我已经知道修复是在string看到代码后立即将会话变量转换为a .

但是,代码已有多年历史,并且自最初编写以来从未更改过.直到本周在我们的测试环境中,if语句被评估为true并执行了该//do stuff部分.这个错误的代码仍然在我们的生产环境中按预期工作.

怎么会这样?这些编写的代码没有理由按照预期工作; 然而它确实如此,并且仍然在生产中.什么会改变,使这个代码不应该工作,但做了,突然停止工作(或者更确切地说,表现得像它应该有的)?

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有