接續上篇,本文詳細說明 Stopwatch 的核心控制方法:Start、Stop、Reset,並展示如何正確累加多段計時時間。
using System;
using System.Diagnostics;
namespace StopWatchDemo
{
class Program
{
static void Main(string[] args)
{
Stopwatch timer = new Stopwatch();
long total = 0;
timer.Start(); // 開始計時
for (int i = 1; i <= 10_000_000; i++)
total += i;
timer.Stop(); // 停止計時
// 若再次呼叫 Start(),將從目前累積時間繼續計時
// 若需重新計時,必須先呼叫 Reset()
timer.Reset();
timer.Start();
// ... 第二段計時 ...
}
}
}
Start() 將接續累加。Stop() + 歸零。Reset()。Start() 不會重置,也不會拋出例外,請善用 IsRunning 判斷狀態。Stopwatch 非執行緒安全,多執行緒請各自建立實例。掌握 Start/Stop/Reset 的精確語意,是撰寫可靠效能測試代碼的基礎。下一篇將深入結果讀取與精度選擇。