讀取Stopwatch結果:
在結束計時後下一步就是讀取計時結果 了。Stopwatch類提供了以下屬性:
Elapsed:返回一個TimeSpan對象,表示計時時間 間隔;
ElapsedMilliseconds:返回計時經過的微秒數,精確度稍差,適合於稍長一 點的計時;
ElapsedTicks: 返回計時經過的計時器刻度(timer tick)數。計時器 刻度是Stopwatch對象可能的最小量度單位。計時器刻度時間的長度由特定的計算機和操作系 統確定。Stopwatch對象的 Frequency靜態字段的值表示一秒所包含的計時器刻度數。注意它 與TimeSpan的Ticks屬性所用的時間單位的區別。
應當根據計時任務的情況選擇其中 的一個屬性。在我們的示例程序中,Elapsed屬性提供了需要的精確度,用它來輸出經過的微 秒數。這也是TimeSpan的最高精確度了。
下面是最終的程序代碼:
using System;
using System.Diagnostics;
namespace StopWatchClass
{
class Program
{
static void Main(string[] args)
{
Stopwatch timer = new Stopwatch();
long total = 0;
timer.Start();
for (int i = 1; i <= 10000000; i++)
{
total += i;
}
timer.Stop();
decimal micro = timer.Elapsed.Ticks / 10m;
Console.WriteLine("Execution time was {0:F1} microseconds.", micro);
}
}
}
另外,使用IsRunning屬性可以查看一個Stopwatch實例是否正在計時 ,使用StartNew方法可以開始一個新的計時器。