如何在循环中添加秒表

本文关键字:添加 循环 | 更新日期: 2023-09-27 18:06:50

我使用while循环,我想停止循环后5分钟与秒表

while (loop)
{
 if (Name == null)
 {
  CheckName = false;
  break;
 }
 else if()//i want to add Stopwatch here
 {
 }
//if Stopwatch finished 
//do something
}

我想循环,然后在一段时间后完成循环来做其他事情

如何在循环中添加秒表

经典的方法是:

Stopwatch sw = new Stopwatch();
sw.Start();
while (true)
{ 
    if (Name == null)
    {
       CheckName = false;
       break;
    }
    else if(sw.Elapsed.TotalMinutes >= 5)
    {
       // do something
       // break;
    }
}
sw.Stop();

var cancellation = new CancellationTokenSource(TimeSpan.FromMinutes(5));
....
else if(cancellation.IsCancellationRequested)
{
    // do something
}

我强烈建议使用Task在后台线程中执行此操作。运行5分钟的方法将冻结UI(如果有的话)。

这是使用System.Diagnostics.StopWatch的一种方法:

System.Diagnostics.Stopwatch sw = System.Diagnostics.Stopwatch.StartNew();
while (sw.Elapsed <= TimeSpan.FromMinutes(5))
{
    if (Name == null)
    {
        CheckName = false;
        break;
    }
}
sw.Stop();