C# 为什么常量int会改变?
我的代码错误和调试清楚地显示了const int的不正确值。在下面,您可以看到我没有修改const变量(无论如何我都不能修改)。 如果在代码执行的早期设置断点,const变量将正确设置为59。沿着这条线的某个地方,它明显地减少了1C# 为什么常量int会改变?,c#,visual-studio,unity3d,debugging,constants,C#,Visual Studio,Unity3d,Debugging,Constants,我的代码错误和调试清楚地显示了const int的不正确值。在下面,您可以看到我没有修改const变量(无论如何我都不能修改)。 如果在代码执行的早期设置断点,const变量将正确设置为59。沿着这条线的某个地方,它明显地减少了1 我甚至不知道从哪里开始找。这种事情是不应该发生的,对吗?这段代码可能存在于一个类库中,您的主应用程序是根据这个类库编译的 您正在使用最新的代码进行调试,但是const的要点是它嵌入在调用站点中。因此,调用方仍然具有旧的2018-1960=58值。如果您声称调试器有时会
我甚至不知道从哪里开始找。这种事情是不应该发生的,对吗?这段代码可能存在于一个类库中,您的主应用程序是根据这个类库编译的 您正在使用最新的代码进行调试,但是
const
的要点是它嵌入在调用站点中。因此,调用方仍然具有旧的2018-1960=58
值。如果您声称调试器有时会向您显示新的59
值,那么它必须在类库本身中,类库是针对自身编译的,因此保存新值
并不是常数改变了,而是它没有改变,所以这个名字。重新编译调用应用程序
另请参见。您好,我认为您的链接不起作用,您可以在编辑器中查看预览,看看它是否起作用,我已经为您编辑了you@JamesGill链接一直对我有效,但我还是批准了你的编辑。将其设置为属性,并在setter中设置一个断点,以便你可以看到发生了什么请发布代码,而不是屏幕截图!我投了反对票,因为以截图形式发布代码会让类似情况的人更难找到问题,而且屏幕阅读器的用户也更难找到问题。