精确的.NET时间

Bri*_*ter 2 .net vb.net time timing

我需要在.NET应用程序中访问非常精确的计时.

我需要微秒精度.

在.NET中有一种简单的方法吗?

Mus*_*sis 6

System.Diagnostics.Stopwatch是您的计时中这种粒度的正确类,但请确保使用您的Stopwatch对象的Elapsed.Ticks属性而不是其ElapsedTicks属性,因为它们是两个不同的东西.

  • ElapsedTicks(没有点)是指秒表的刻度数,因此需要与Stopwatch.Frequency(在所有机器上不一样)一起使用来计算经过时间.
  • Elapsed.Ticks(点)给出的数量Timespan蜱,并且是不依赖于秒表频率.

这可能是.Net中最微妙的潜在错误之一.

此外,请注意秒表高度精细的,但它不一定都是准确的(取决于您对术语的定义).秒表返回的经过时间往往会偏离系统时间.

在我的笔记本电脑上,秒表在24小时内提前运行了大约5秒钟,这种效果在其他一些机器上更糟糕.

当然,如果你的时间很短,那么这种影响根本不重要.