StopWatch.ElapsedTicks和StopWatch.Elapsed.Ticks是否始终相同?

时间:2009-06-19 12:08:22

标签: .net stopwatch

StopWatch类中的ElapsedTicksElapsed.Ticks是什么意思?什么意思可能与预期不同?

2 个答案:

答案 0 :(得分:23)

我刚刚发现,如果StopWatch.isHighResolution为True,StopWatch类中的ElapsedTicks并不意味着真正的“滴答声”

注(if isHighResolution is True):

  

秒表刻度不同于   日期时间.. ::。蜱。每个蜱都在   DateTime .. ::。Ticks值表示   一个100纳秒的间隔。每个滴答   在ElapsedTicks值中表示   时间间隔等于1秒   除以频率。

您可以在上面进行数学计算,或者看起来您可以使用 StopWatch.Elapsed.Ticks 而不是 StopWatch.ElapsedTicks

答案 1 :(得分:11)

Elapsed.Ticks / TimeSpan.TicksPerSecond == ElapsedTicks / Stopwatch.Frequency

当然,由于四舍五入,这可能不完全相同,因为秒表嘀嗒声和TimeSpan蜱以不同单位测量。此外,如果您按字面意思执行上述代码,显然在获取Elapsed.Ticks的值和ElapsedTicks的值之间会经过一些滴答。