gpt4 book ai didi

c# - 为什么只有在VS2010中调试时cast总是返回零?

转载 作者:太空狗 更新时间:2023-10-29 23:48:26 25 4
gpt4 key购买 nike

只有在我的机器上才会发生这种情况。基本上,如果我运行以下一切都符合预期:

        double d = 500.22;
int i = (int)d;
Console.WriteLine(i.ToString());

输出为 500。

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

我已经在其他机器上测试过了,我无法复制,我什至重新安装了 VS2010,但它仍然发生。所以我想这一定是我系统上的某种环境设置,但我不知道是什么。

其他人遇到过这个问题,我该如何解决。

干杯。

编辑:看来问题出在第二行。如果我在第一行放置一个断点,然后 F5 就可以了,那么就没问题了。但是如果我进入/越过第二行,转换似乎不起作用并且我停留在 0。
我还尝试先将 i 设置为 1,然后查看转换是否有效,但它会将 i 变回 0 并删除我的初始值 1。

截图如下:

alt text

最佳答案

您是否拥有所有最新的 .NET Framework 服务补丁?甚至还有一些用于 4.0 框架,尽管我还没有听说过这样的东西。

* 编辑 *
关于我的其他建议,强制转换为 int 截断和 Convert.ToInt32 轮次,因此 Convert.ToInt32 无论如何都是您通常想要的(特别是如果它正在工作)。

关于c# - 为什么只有在VS2010中调试时cast总是返回零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3979824/

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