gpt4 book ai didi

C# timers.timer 不能正常工作

转载 作者:行者123 更新时间:2023-12-02 17:48:54 32 4
gpt4 key购买 nike

我正在尝试使用 C# 中的计时器以五秒的间隔运行一个方法。虽然这段代码似乎不起作用。运行它时我没有收到任何错误,但程序(我在控制台中运行)在 IP.timer1.Start() 之后立即关闭。 timer1_Elapsed 方法永远不会被执行。我知道这一点,因为我已经尝试让程序在 timer1_Elapsed 方法的第一行向控制台打印一个字符串。

class Program
{
Timer timer1 = new Timer();

static void Main(string[] args)
{
Program IP = new Program();
IP.timer1.Elapsed += new ElapsedEventHandler(timer1_Elapsed);
IP.timer1.Interval = 5000;
IP.timer1.Enabled = true;
IP.timer1.Start();

}

static void timer1_Elapsed(object sender, ElapsedEventArgs e)
{
//Function to get executed each time the counter elapses.
}

}

最佳答案

原因是定时器的Start方法在另一个线程上启动了定时器,并立即从该方法返回。这会导致您的 Main 方法结束,并且控制台关闭。

根据您使用的Timer(BCL 中有一些类似命名的类),您可能希望以不同方式实现修复。我建议阅读有关 System.Timers.Timer 的文档, System.Windows.Forms.TimerSystem.Threading.Timer取决于您使用的是哪个。

关于C# timers.timer 不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11098373/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com