【问题标题】:Stopwatch not incrementing秒表不递增
【发布时间】:2010-11-22 00:51:30
【问题描述】:

我不明白为什么这段代码在 4 小时后无法测量。

    if (guildVaultRunStarter.IsRunning)
    {
        if (guildVaultRunTimer.ElapsedMilliseconds > 4 * 60 * 60 * 1000) // 4 hours
        {
            guildVaultRunStarter.Reset();
            log("Its been over 4 hours - empty bags.");
            return true;
        }
        else
        {
            log("guildVaultRunTimer.ElapsedMilliseconds = " +
                guildVaultRunTimer.ElapsedMilliseconds.ToString() + ".");
        }
    }
    else
    {
        log("Start the 4 hour guild vault countdown.");
        guildVaultRunStarter.Reset();
        guildVaultRunStarter.Start();
    }

日志显示:

[8/23/2009 12:17:21 PM]:Start the 4 hour guild vault countdown.
...
[8/23/2009 12:26:53 PM]:guildVaultRunTimer.ElapsedMilliseconds = 0.
...
[8/23/2009 12:27:26 PM]:guildVaultRunTimer.ElapsedMilliseconds = 0.

为什么总是0?

【问题讨论】:

  • 在使用示例代码提出问题时始终将语言添加到标签中。它将为您提供更好的观众:)

标签: c# timer stopwatch


【解决方案1】:

这只是guildVaultRunTimerguildVaultRunStarter之间的错字吗?

if (guildVaultRunStarter.ElapsedMilliseconds > ...

毕竟,你似乎从来没有开始guildVaultRunTimer

【讨论】:

  • /me 震惊不已,发誓再也不会有如此相似的变量名。谢谢!
【解决方案2】:

你在哪里实例化计时器以及这段代码是在哪里/如何调用的?

【讨论】:

  • 上课时我有: private Stopwatch guildVaultRunStarter = new Stopwatch();当角色杀死一个暴民并掠夺一件物品时,将调用该代码。袋子在 5 小时内装满,所以我们的想法是在 4 内清空它们。
猜你喜欢
  • 1970-01-01
  • 2022-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-16
  • 2017-07-19
相关资源
最近更新 更多