30

秒表类中的ElapsedTicks和是什么意思?Elapsed.Ticks什么时候意义可能与预期不同?

4

2 回答 2

24

我刚刚发现ElapsedTicksStopwatch课堂上并不意味着真正的“滴答声” if StopWatch.IsHighResolutionis 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.TicksElapsedTicks

于 2013-04-22T07:35:05.307 回答