軟體效能優化需先能量測。長時間流程易測量,但頻繁呼叫的微小常式(如千分之一秒執行、百萬次呼叫)累積影響巨大,需微秒級精度工具。
System.Diagnostics 命名空間Start()、Stop()、Reset()/Restart() 方法DateTime.Now
using System;
using System.Diagnostics;
namespace StopWatchDemo {
class Program {
static void Main() {
long total = 0;
Stopwatch sw = Stopwatch.StartNew(); // 建立並啟動
for (int i = 1; i <= 10_000_000; i++) total += i;
sw.Stop();
Console.WriteLine($"總和: {total}");
Console.WriteLine($"耗時: {sw.ElapsedMilliseconds} ms");
Console.WriteLine($"耗時: {sw.Elapsed.TotalSeconds:F3} 秒");
Console.WriteLine($"耗時: {sw.ElapsedTicks} ticks");
}
}
}
sw.Elapsed 回傳 TimeSpan,可取得時/分/秒/毫秒/微秒sw.ElapsedTicks 原始計數器節拍,配合 Stopwatch.Frequency 換算秒數Stop() 暫停,再次 Start() 繼續累積Reset() 歸零,Restart() 歸零並重新啟動StringBuilder vs + 串接)