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

Fre*_*dou 29 .net stopwatch

是什么ElapsedTicks以及Elapsed.Ticks在秒表类是什么意思?什么意思可能与预期不同?

Fre*_*dou 23

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

注意(如果isHighResolution为True):

秒表刻度与DateTime .. ::.Ticks不同.DateTime .. ::.Ticks值中的每个刻度表示一个100纳秒的间隔.ElapsedTicks值中的每个刻度表示等于1秒的时间间隔除以频率.

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


Eug*_*sky 12

Elapsed.Ticks / TimeSpan.TicksPerSecond == ElapsedTicks / Stopwatch.Frequency
Run Code Online (Sandbox Code Playgroud)

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