gpt4 book ai didi

asp.net - 当条件为 false 时执行单语句 VB.NET If block ? VS 2005 的错误?

转载 作者:行者123 更新时间:2023-12-02 17:06:06 25 4
gpt4 key购买 nike

我想知道您以前是否遇到过这个错误:在单行 IF 上,条件返回 FALSE,但随后执行继续到 TRUE 部分。

我在这里做错了什么吗? retrieserrorTolerance 都是 Integer 类型,从下面的屏幕截图来看,retries 小于 errorTolerance 。但它仍然执行 True 部分的语句。

The statement goes to the TRUE part when the condition is False

这已经搞砸了我的程序,所以我所做的就是将 Throw New Exception 放在另一行中,并以 End If 结束,它就可以工作了。

我想我的问题是我以前的代码有什么问题?

最佳答案

禁用优化以确保代码行与相应的编译指令之间存在清晰的线性对应关系。

如果这是 Release模式编译,并且 retries 只是超出范围的局部变量,则编译器可能刚刚优化了保存 retries 的寄存器中递增值的存储 最初,但在检查表达式时仍然使用该寄存器。

为了确认这一点,您将看到 retrieserrorTolerance 在 Release模式下具有相同的值,并且 retries 的值大在 Debug模式下重新编译后的一张。当您单步执行各行时,单独检查变量。

关于asp.net - 当条件为 false 时执行单语句 VB.NET If block ? VS 2005 的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11425783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com