1. 需求: 提供设置时间的textbox,如果输入0, 点击按钮,则运行一次任务。如果输入30,点击按钮,则重复调用多次任务,直到运行时间>=设置时间。
2. 使用stopwatch 测量运行时间。
注意事项:
stopwatch.stop(),停止后,在调用start()方法,计时时间是累计的,
stopwatch.Elapsed.TotalSeconds是测量总时间,单位是秒
stopwatch.Elapsed.Seconds 是测量时间timespan结构中的秒部分,范围值0-59
Stopwatch stopwatch = Stopwatch.StartNew();
stopwatch.Start();
System.Threading.Thread.Sleep(3);
结束计时
stopwatch.Stop();
Console.WriteLine($" Elapsed1 : {stopwatch.Elapsed.Milliseconds}");//3
stopwatch.Start();
Thread.Sleep(2);
//计时累加
Console.WriteLine($" Elapsed2 : {stopwatch.Elapsed.Milliseconds}");//5
Console.WriteLine($" Duration : {stopwatch.Elapsed.Duration().TotalMilliseconds}");
重新设置为零
///stopwatch.Reset();
重新设置并开始计时
//stopwatch.Restart()==stopwatch.Reset() + stopwatch.Start();
//获取运行时间间隔
TimeSpan ts = stopwatch.Elapsed;
//获取时间间隔的秒数部分,值为60时,从0开始。
long times = ts.Seconds;//stopwatch.Elapsed.TotalSeconds ---总的运行时间,转成秒
//判断计时是否正在进行[true为计时]
bool isrun = stopwatch.IsRunning;
//获取计时频率
long frequency = Stopwatch.Frequency;
Console.WriteLine($"总运行时间:{stopwatch.Elapsed.TotalSeconds} s");
Console.ReadLine();
输出如图:
参考文章: stopwatch