【发布时间】:2013-03-30 16:29:31
【问题描述】:
我可以在没有调用Stop 的情况下使用ElapsedMilliseconds 在秒表上调用Start 后得到经过的时间吗?我在互联网上进行了很多搜索,但只看到了在Stop 之后调用ElapsedMilliseconds 的示例。这个值是在调用Stop 时填充的还是总是正确的?
【问题讨论】:
我可以在没有调用Stop 的情况下使用ElapsedMilliseconds 在秒表上调用Start 后得到经过的时间吗?我在互联网上进行了很多搜索,但只看到了在Stop 之后调用ElapsedMilliseconds 的示例。这个值是在调用Stop 时填充的还是总是正确的?
【问题讨论】:
您可以在 Stopwatch 实例运行或停止时查询属性 Elapsed、ElapsedMilliseconds 和 ElapsedTicks。秒表运行时,经过时间属性稳步增加;当实例停止时,它们保持不变。
——来自https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.stopwatch.elapsedmilliseconds#remarks
【讨论】:
watch.Elapsed.Ticks != watch.ElapsedTicks 的“有趣”(说得好听)的情况,所以秒表内部发生了奇怪的事情。买者自负。我猜我应该怀疑,因为 ElapsedTicks 是一个属性而不是一个方法。虽然我在抱怨,但秒表在多核机器上并不可靠。