如何在 C# 中执行每次迭代延迟 1 分钟的无限循环?
有什么方法可以不使用带有 x++ 的某种变量并将 x 设置为某个非常大的数字吗?
最佳答案
解决方案1:
如果你想等待
1分钟
而不挂起你的Main Thread
,使用Timer
控件是很好的。
第 1 步:您需要订阅 Timer Tick
事件。
第 2 步:将 Timer
的 Interval
属性设置为 60000
毫秒,以便每分钟引发一次事件。< br/>
第 3 步:在 Tick Event Handler
中执行您想要执行的任何操作。
第 4 步:您可以随时调用 timer1.Stop()
方法来停止计时器。
注意:如果您不停止
计时器
,它会变成无限
。
如果你想停止
定时器
,你可以调用timer1.Stop();
System.Windows.Forms.Timer timer1 = new System.Windows.Forms.Timer();
timer1.Interval=60000;//one minute
timer1.Tick += new System.EventHandler(timer1_Tick);
timer1.Start();
private void timer1_Tick(object sender, EventArgs e)
{
//do whatever you want
}
解决方案 2:
编辑: 来自以下评论:如果 OP(原始海报)试图从 Console Application
System.Timers.Timer
可以使用
注意:不是处理 Tick
事件,OP 必须处理 Elapsed
事件。
完整代码:
class Program
{
static System.Timers.Timer timer1 = new System.Timers.Timer();
static void Main(string[] args)
{
timer1.Interval = 60000;//one minute
timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick);
timer1.Start();
Console.WriteLine("Press \'q\' to quit the sample.");
while (Console.Read() != 'q') ;
}
static private void timer1_Tick(object sender, System.Timers.ElapsedEventArgs e)
{
//do whatever you want
Console.WriteLine("I'm Inside Timer Elapsed Event Handler!");
}
}
关于c# - 如何在 C# 中执行每次迭代延迟 1 分钟的无限循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20500906/