我制作了一个 winform 应用程序,其中我使用了一个时间间隔为 10 分钟的 system.timers.timer 控件,我声明了一个整数变量,该变量在触发特定事件时递增,问题是整数值重置为 0,但是当我将计时器控制设置为 1 分钟时,它显示了正确的结果,有谁知道为什么会出现这种奇怪的行为?
我做了一些研究,发现其中一个原因可能是垃圾收集器可能对此负责,但是 int 值存储在堆上,对吗?如果您知道任何其他解决方案,那么在关闭应用程序域之前无法进行 GC,那么请建议,真的需要这个吗?我认为问题是变量正在被 GC 重置,但我也使用了 ,GC.KeepAlive(TimerName);有人请吗?