Stopwatch stopWatch = Stopwatch.StartNew();
Thread.Sleep(10000);
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;
但是我看到它实际上并不那么准确,我需要它尽可能准确。谢谢!
答案 0 :(得分:3)
我运行了以下内容:
var stopWatch = Stopwatch.StartNew();
Thread.Sleep(1000);
stopWatch.Stop();
Console.WriteLine(stopWatch.Elapsed);
输出为00:00:01.0002463
,请注意,在这种情况下,您可能会期望第二次(合理的预期),但是,它稍微超过一秒。为什么? Thread.Sleep()
不是特别准确!秒表足够精确,可以证明这一点,实际上通常精确到纳秒分辨率。
那就是说,如果你试图使用秒表,那么你的方法是错误的,你应该用dotTrace之类的方式对应用程序进行分析,看看热点是什么。