如何延迟在C#中执行的代码

时间:2014-04-17 10:10:06

标签: c#

我正在为我的C#控制台程序编写一个简单的许可证系统脚本,我正在尝试延迟正在运行的代码。

Task ShutdownTask = new Task(SilverEnvironment.PerformShutDown);
                            ShutdownTask.Start();
                            SilverEnvironment.GetGame().GetModerationTool().LogStaffEntry("SERVER", string.Empty, "Shutdown", "Invalid licence provided.");

这是我想要在定时事项中执行的代码,而不是立即运行。我对C#不太好,但我知道基础知识。

5 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

您可以使用Timer类在一段时间后生成事件。不要忘记禁用计时器,否则它将在相同的间隔后重复该事件。

答案 2 :(得分:0)

new System.Threading.Timer(new TimerCallback((obj) => {
    // your code
}, null, 1000, System.Threading.Timeout.Infinite);

其中1000是时间延迟。

此代码以初始延迟启动Timer,当时间过去TimerCallback将异步调用。句点Infinite表示只会调用一次回调。 这不会停止执行当前线程,因此如果要停止当前线程,请更好地使用Threat.Sleep

Thread.Sleep(1000);
// your code

答案 3 :(得分:0)

在执行代码之前添加以下内容。每秒1000等待。

Thread.Sleep(1000); 

答案 4 :(得分:0)

您可以使用以下方法之一:

1)Thread.Sleep(5000);          要么 2)等待Task.Delay(5000);