为什么只有在VS2010中进行调试时,强制转换才会返回零?

HAd*_*des 5 c# visual-studio-2010 visual-studio

只有在我的机器上才会发生.基本上如果我运行以下所有内容都符合预期:

        double d = 500.22;
        int i = (int)d;
        Console.WriteLine(i.ToString());
Run Code Online (Sandbox Code Playgroud)

输出为500.

但是,如果我在第一行放置一个断点并逐步执行,我总是恢复为零,输出为0.

我已经在其他机器上测试了这个,我无法复制,我甚至重新安装了VS2010,但它仍然会发生.所以我认为它必须是我在我的系统上的某种环境设置,但我无法弄清楚是什么.

其他人都有这个问题,我该如何摆脱它.

干杯.

编辑:问题似乎只是第二行.如果我在第1行放置一个断点,然后在它上面放置F5,那么一切都好.但是如果我进入/超过第二行,则转换似乎不起作用并且我保持在0.
我还尝试将i设置为1然后查看转换是否有效,但它将我更改为0并移除我的初始值为1.

这是一个截图:

替代文字

Den*_*sky 0

/SafeMode尝试使用或/ResetSettings命令行 args运行 VS