秒表类中的ElapsedTicks和Elapsed.Ticks是什么意思?什么时候它的意思会和原意不一样?
发布于 2009-09-17 13:45:26
我刚刚发现如果StopWatch.IsHighResolution为true,那么Stopwatch类中的ElapsedTicks并不意味着真正的“滴答”。
注意(如果IsHighResolution为真-来自Microsoft Connect link (now dead)):
秒表计时与DateTime.Ticks不同。DateTime.Ticks值中的每个刻度表示一个100纳秒的间隔。ElapsedTicks值中的每个刻度表示时间间隔等于1秒除以频率。
你可以做上面的算术,或者看起来你可以用StopWatch.Elapsed.Ticks代替StopWatch.ElapsedTicks。
发布于 2013-04-22 15:35:05
Elapsed.Ticks / TimeSpan.TicksPerSecond == ElapsedTicks / Stopwatch.Frequency当然,由于四舍五入的原因,这可能并不完全相等,因为秒表滴答和TimeSpan滴答是以不同的单位测量的。此外,如果您逐字执行上面的代码,显然在获取Elapsed.Ticks的值和ElapsedTicks的值之间会经过一些刻度。
https://stackoverflow.com/questions/1017608
复制相似问题