ディレクトリ
ブリーフ
ストップウォッチは、 総実行時間が複数の時間間隔を測定することができ、実行時間間隔を測定することができます。一般的にするために使用されるコードの実行のために使用される時間測定又は計算パフォーマンスデータが時間を測定するためにコードストップウォッチの性能を最適化する際に使用することができます。
基本的な使い方
使用中のたSystem.Diagnostics名前空間を参照する必要がある場合。第1の開始メソッドを呼び出し、次いで呼び出し停止方法、または最終使用特性に経過ElapsedMilliseconds特性が動作時間を得た(二つの特性の差は、ミリ秒単位で得られるのTimeSpan前者の場合に、得られます)。あなたはIsRunningストップウォッチが実行中か停止している現在のステータスを確認することができます。累積開始あなたがカウント開始時刻呼び出すたびに実行されている。現在の時間間隔の測定が終了するたびに停止呼び出し、総走行時間の値を凍結します。累積運転時間インスタンス前ストップウォッチをクリアするために使用される方法をリセットします。
次の例では、アプリケーションの実行時間を決定するためにストップウォッチクラスを使用する方法を示します。
Stopwatch stopwatch = new Stopwatch();
//第一次计时
stopwatch.Start();
Console.WriteLine("Stopwatch is running:{0}",stopwatch.IsRunning);//判断当前Stopwatch的状态
System.Threading.Thread.Sleep(1000);//耗时操作
stopwatch.Stop();
Console.WriteLine("Using Elapsed output runTime:{0}", stopwatch.Elapsed.ToString());//这里使用时间差来输出
Console.WriteLine("Using ElapsedMilliseconds output runTime:{0}", stopwatch.ElapsedMilliseconds);//这里面使用毫秒来输出
Console.WriteLine("===================================================");
//第二次计时
stopwatch.Start();
System.Threading.Thread.Sleep(1000);//耗时操作
stopwatch.Stop();
Console.WriteLine("The second RunTime:{0}", stopwatch.ElapsedMilliseconds);//这里面使用毫秒来输出
Console.WriteLine("===================================================");
//第三次计时(这里使用了Restart)
stopwatch.Restart();//这里使用Restart来启动计时(会把前面的时间清空)
System.Threading.Thread.Sleep(1000);//耗时操作
stopwatch.Stop();
Console.WriteLine("Using Restart, so runTime:{0}", stopwatch.ElapsedMilliseconds);//这里面使用毫秒来输出
Console.ReadKey();
結果:
注:私は1000ミリ秒スリープが、結果は最初に入力されたプログラムは、1002年第二は、コンピュータのパフォーマンスがある程度の誤差で、2003年と最終的には1000年だったとCPUの現在の状態が(私はここで推測している)の関係を持っています。
実際のプロジェクトでは、時には我々は、実行中の時間を取得するために、我々は、テキストファイルに書き込まれた時間を置く必要があり、この時間をConsole.WriteLineを()またはMessageBox.Show()を使用することはできません。
次の例では、アプリケーションやテキストファイルに時間出力(ここでは簡単のために、私はのStreamWriterを使用)の実行時間を決定するためにストップウォッチクラスを使用する方法を示します。
const string path = @"D:\StopwatchDemo.txt";
using (StreamWriter streamWriter = new StreamWriter(path, true, Encoding.UTF8))
{
streamWriter.WriteLine("Start");
streamWriter.Flush();
Stopwatch stopwatch = Stopwatch.StartNew();
System.Threading.Thread.Sleep(1000);//耗时操作
stopwatch.Stop();
streamWriter.WriteLine("RunTime:{0}", stopwatch.ElapsedMilliseconds);//以毫秒的形式写进文件
streamWriter.Flush();
}
結果:
エンディング
そのような他のストップウォッチタイマのタイミングのためだけでなく、C#の動作のTimeSpanが好き。私はストップウォッチを持つ例を与えるためにここにいます。