3 回答

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

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