有没有在C#中可以进行亚毫秒精度计时操作的地方?我正在将计时代码放入我的软件中,但所有结果都返回为0ms。我想知道是否有一种方法可以获得更精细的时间粒度。
补充:这是获取亚毫秒计时的正确代码吗?
我仍然得到0作为经过的时间。
补充:这是获取亚毫秒计时的正确代码吗?
timeSpan.TotalMilliseconds / 10
我仍然得到0作为经过的时间。
timeSpan.TotalMilliseconds / 10
你可以尝试使用QueryPerformanceCounter或StopWatch类来实现托管方式。
使用 System.Diagnostics.Stopwatch
Stopwatch stopwatch = Stopwatch.StartNew();
// Run code to get duration of
long durationInTicks = stopwatch.ElapsedTicks;
Console.WriteLine($"Duration: {(decimal)durationInTicks / TimeSpan.TicksPerMillisecond:f3}ms");
你也可以在 Console.WriteLine
中使用 stopwatch.ElapsedTicks
,但我不知道是否会有性能延迟,这就是为什么我首先检索它并将其放入变量中的原因。