实用工具的主要逻辑是在这样的函数中:
private void Run()
{
DateTime startTime = DateTime.Now;
Prepare();
Search();
Process();
DateTime endTime = DateTime.Now;
TimeSpan duration = endTime.Subtract(startTime);
Console.WriteLine("Run took {0:00}:{1:00}:{2:00}",
(int)duration.TotalHours, duration.Minutes, duration.Seconds);
}
当我运行它时,我可以亲眼看到它至少需要 5 秒(Process()
方法会喷出控制台输出,我可以观察到 5-6 秒)。但它报告“运行时间为 00:00:01”。
我不希望时间具有微秒精度,但为什么这里完全不准确?
更新:
根据建议,我也在StopWatch
同一时期运行了 a 并与减去 two 进行了比较DateTime
,并且还调试了代码。这两种方法同意不到一秒……StopWatch
在调试器中有 1139 毫秒。我的假设是不包括以某种方式写入控制台的时间,但我无法支持(或反驳它)。