3 回答

TA貢獻1872條經(jīng)驗 獲得超4個贊
更好的方法是使用Stopwatch類:
using System.Diagnostics;
// ...
Stopwatch sw = new Stopwatch();
sw.Start();
// ...
sw.Stop();
Console.WriteLine("Elapsed={0}",sw.Elapsed);

TA貢獻1909條經(jīng)驗 獲得超7個贊
正如其他人所說,Stopwatch在這里使用是一個很好的類。您可以將其包裝為有用的方法:
public static TimeSpan Time(Action action)
{
Stopwatch stopwatch = Stopwatch.StartNew();
action();
stopwatch.Stop();
return stopwatch.Elapsed;
}
(請注意使用Stopwatch.StartNew()。我寧愿先創(chuàng)建秒表,再Start()進行簡單調(diào)用。)顯然,這會招致調(diào)用委托的麻煩,但是在大多數(shù)情況下,這是無關緊要的。然后,您將編寫:
TimeSpan time = StopwatchUtil.Time(() =>
{
// Do some work
});
您甚至可以ITimer為此建立一個接口,并StopwatchTimer, CpuTimer在可用時使用etc的實現(xiàn)。
添加回答
舉報