Gon*_*o.- 4 .net c# if-statement boolean visual-studio-2010
只是为了好奇
我的代码有这个问题.
e
被评估为false
,(并且我知道通过查看数据库中的数据会变得错误),但if语句并不关心它,并假设为true,并且正在尝试抛出异常.
有什么想法吗?
编辑:
没有; 在第16行的末尾.
值false
是正确的,我检查了数据库并且正确得到了false
,这是预期的
{}
工作正常.但我想知道为什么这样不起作用.x64
,我无法做出改变我最近在SO上看到了一个非常相似的问题,但我找不到它.在我不在的时候,这是我记得的,如果它有助于缓解你的想法:
症状是:
原因与启用Debug的版本中发出的额外操作码有关,以支持逐步调试.为此类版本发出的实际IL代码包括额外的"无操作"IL命令,除了存在之外什么都不做,并且在执行"真实"操作之前和/或之后单步执行代码以中断执行时使用.
在这种情况下,IDE只是对基于它试图逐步完成的IL代码的"当前"代码行感到困惑.应该有额外的操作代码,但是调试器IDE错误地将它与前一行代码相关联.黄色突出显示在错误的位置.
我不记得导致这种情况发生的确切条件(原始问题的答案实际上已经挖入IL来解释它,希望其他人可以找到这个问题!).添加大括号会导致编译器专门发出无操作代码来表示大括号,这就是问题消失的原因.
归档时间: |
|
查看次数: |
1496 次 |
最近记录: |