秒表类中的ElapsedTicks
和是什么意思?Elapsed.Ticks
什么时候意义可能与预期不同?
问问题
3403 次
2 回答
24
我刚刚发现ElapsedTicks
在Stopwatch
课堂上并不意味着真正的“滴答声” if StopWatch.IsHighResolution
is true
。
注意(如果IsHighResolution
为真 - 来自Microsoft Connect 链接(现已失效)):
秒表刻度不同于 DateTime.Ticks。DateTime.Ticks 值中的每个刻度代表一个 100 纳秒的间隔。ElapsedTicks 值中的每个刻度表示等于 1 秒除以频率的时间间隔。
你可以做上面的数学,或者看起来你可以使用StopWatch.Elapsed.Ticks
而不是StopWatch.ElapsedTicks
.
于 2009-09-17T13:45:25.593 回答
12
Elapsed.Ticks / TimeSpan.TicksPerSecond == ElapsedTicks / Stopwatch.Frequency
当然,由于四舍五入,这可能不完全相等,因为秒表刻度和 TimeSpan 刻度以不同的单位测量。此外,如果您按字面意思执行上述代码,显然在取 和 的值之间会经过一些滴答Elapsed.Ticks
声ElapsedTicks
。
于 2013-04-22T07:35:05.307 回答