准确测量.NET中经过的挂钟时间

pau*_*doo 5 .net performance

在.NET中准确测量经过的挂钟时间最方便的方法是什么?如果可能的话,我正在寻找具有微秒精度的东西(10 ^ -6秒).

Jon*_*eet 7

System.Diagnostics.Stopwatch是你最好的选择.但是,准确的准确度取决于您使用的计算机上的硬件,即高分辨率性能计数器是否可用.(您可以使用该IsHighResolution字段进行检查.)

样品用途:

Stopwatch sw = Stopwatch.StartNew();
// Do stuff here
sw.Stop();
TimeSpan time = sw.Elapsed;
Run Code Online (Sandbox Code Playgroud)

请注意,如果您使用该ElapsedTicks属性,则以计时器刻度测量,该刻度DateTime与和中使用的刻度不同TimeSpan.那之前我已经抓住了 - 这就是为什么我总是使用ElapsedMillisecondsElapsed财产.