在 C# 中使用计时器类时出现问题

本文关键字:问题 计时器 | 更新日期: 2023-09-27 18:33:41

基本上,我正在尝试在类中为我的第一个 C# 游戏实现计时器;我想使用计时器来不断更新播放器并提供某些定期反馈,但我似乎无法让"计时器"类正常工作。如果我在循环中使用它(如下所示),它将等待 2 秒,然后继续在控制台上写"你还活着!",中间有 0 个延迟;如果我不使用循环,应用程序会立即结束。

using System;
using System.Timers;
public class MyClass
{ 
    public static void myTimer_Elapsed(object sender, ElapsedEventArgs e)
    {
        Console.WriteLine("You're alive!");
    }
    public static void Main(String[] args)
    {
        while (true)
        {
            Timer MyTimer = new Timer();
            MyTimer.Interval = 2000;
            MyTimer.Enabled = true;
            MyTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed);
            MyTimer.Start();
        }
}

在 C# 中使用计时器类时出现问题

只需在MyTimer.Start();后添加以下行

Console.ReadLine();

static void Main(String[] args)
    {
        Timer MyTimer = new Timer();
        MyTimer.Interval = 2000;
        MyTimer.Enabled = true;
        MyTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed);
        MyTimer.Start();
        Console.ReadLine();
    }
    private static void myTimer_Elapsed(object sender, ElapsedEventArgs e)
    {
        Console.WriteLine("You're alive!");
    }