(轉)C# Stopwatch詳解


C# Stopwatch類

命名空間:System.Diagnostics;

namespace System.Diagnostics { // 提供一組方法和屬性,可用於准確地測量運行時間。 public class Stopwatch { // 獲取以每秒計時周期數表示的計時器頻率。此字段為只讀。 public static readonly long Frequency; // 指示計時器是否基於高分辨率性能計數器。此字段為只讀。 public static readonly bool IsHighResolution; // 初始化 System.Diagnostics.Stopwatch 類的新實例。 public Stopwatch(); // 獲取當前實例測量得出的總運行時間。 //   返回結果: // 一個只讀的 System.TimeSpan,用於表示當前實例測量得出的總運行時間。 public TimeSpan Elapsed { get; } // 獲取當前實例測量得出的總運行時間(以毫秒為單位)。 //   返回結果: // 一個只讀長整型,表示當前實例測量得出的總毫秒數。 public long ElapsedMilliseconds { get; } // 獲取當前實例測量得出的總運行時間(用計時器計時周期表示)。 //   返回結果: // 一個只讀長整型,表示當前實例測量得出的計時器計時周期的總數。 public long ElapsedTicks { get; } // 獲取一個指示 System.Diagnostics.Stopwatch 計時器是否在運行的值。 //   返回結果: // 如果 System.Diagnostics.Stopwatch 實例當前正在運行,並且在對某個時間間隔的運行時間進行測量,則該值為 true;否則為 false。 public bool IsRunning { get; } // 獲取計時器機制中的當前最小時間單位數。 //   返回結果: // 一個長整型,表示基礎計時器機制中的計時周期計數器值。 public static long GetTimestamp(); // 對新的 System.Diagnostics.Stopwatch 實例進行初始化,將運行時間屬性設置為零,然后開始測量運行時間。 //   返回結果: // 剛剛開始測量運行時間的 System.Diagnostics.Stopwatch。 public static Stopwatch StartNew(); // 停止時間間隔測量,並將運行時間重置為零。 public void Reset(); // 停止時間間隔測量,將運行時間重置為零,然后開始測量運行時間。 public void Restart(); // 開始或繼續測量某個時間間隔的運行時間。 public void Start(); // 停止測量某個時間間隔的運行時間。 public void Stop(); } }

Stopwatch的命名空間是using System.Diagnostics;

從上文看到Restart()等於Reset()加Start()

使用流程如下

Stopwatch sw = new Stopwatch(); //開始計時 sw.Start(); //重新設置為零 sw.Reset(); //重新設置並開始計時 sw.Restart(); //結束計時 sw.Stop(); //獲取運行時間間隔 TimeSpan ts = sw.Elapsed; //獲取運行時間[毫秒] long times = sw.ElapsedMilliseconds; //獲取運行的總時間 long times2 = sw.ElapsedTicks; //判斷計時是否正在進行[true為計時] bool isrun = sw.IsRunning; //獲取計時頻率 long frequency = Stopwatch.Frequency;

Stopwatch 實例可以測量一個時間間隔的運行時間,也可以測量多個時間間隔的總運行時間。 在典型的 Stopwatch 方案中,先調用 Start 方法,然后調用 Stop 方法,最后使用 Elapsed 屬性檢查運行時間。

Stopwatch 實例或者在運行,或者已停止;使用 IsRunning 可以確定 Stopwatch 的當前狀態。 使用 Start 可以開始測量運行時間;使用 Stop 可以停止測量運行時間。 通過屬性 Elapsed、ElapsedMilliseconds 或 ElapsedTicks 查詢運行時間值。 當實例正在運行或已停止時,可以查詢運行時間屬性。 運行時間屬性在 Stopwatch 運行期間穩固遞增;在該實例停止時保持不變。

默認情況下,Stopwatch 實例的運行時間值相當於所有測量的時間間隔的總和。 每次調用 Start 時開始累計運行時間計數;每次調用 Stop 時結束當前時間間隔測量,並凍結累計運行時間值。 使用 Reset 方法可以清除現有 Stopwatch 實例中的累計運行時間。

文章轉載自:https://blog.csdn.net/e295166319/article/details/52799830


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM