在设定时间执行操作不起作用
本文关键字:操作 不起作用 执行 定时间 | 更新日期: 2023-09-27 18:19:34
我不知道,为什么它在设定的时间不写任何东西
DateTime trolltime = new DateTime(2013, 6, 24, 9, 25, 21); //nevermind the time
DateTime now = DateTime.Now;
goto1:
if (trolltime == now)
{
Console.WriteLine("blahblah");
}
else
{
goto goto1;
}
比较两个DateTime
对象时,会比较内部Ticks。不仅仅是几秒钟。因此,DateTime.Now
将具有与您的DateTime(2013, 6, 24, 9, 25, 21)
实例相同的Ticks
的可能性非常小。
如果你想大约在9:25:21开始某件事,你可以创建计时器,并将其延迟设置为你的时间和当前时间之间的时间跨度:
DateTime trolltime = new DateTime(2013, 6, 24, 9, 25, 21);
DateTime now = DateTime.Now;
Timer timer = new Timer(callback, state, trolltime - now, TimeSpan.Zero);
初始化后,trolltime
和now
可能不同。两者都没有改变,所以它们保持着不同。
因为trolltime
和now
可能根本不相等,您的程序跳过if
部分,转到else
部分。
但在你的else
部分,你将使用goto
来访问goto1
行。这就是程序中的无限循环。