C# 中的 10 分钟计时器

10 minutes timer in C#

我正在开发一个 C# 控制台应用程序,我需要添加一个计时器,它在我编写 "start" 时启动,并在经过 10 分钟后自动停止。 我怎样才能只使用 "static void Main()"?

我有这个:

using System;
using System.Timers;

namespace myScript
{
    class Program
    {
        static void Main()
        {
            string getInput = Console.ReadLine();

            if (getInput == "start")
            {
                //start timer
            }

            if (//10 minutes have passed)
            {
                //do something
            }
        }
    }
}

谢谢!

    using System;
    using System.Threading;

static void Main(string[] args)
            {
                Console.WriteLine("Please type \"start\" and press ENTER");
                while (true)
                {
                    var userInput = Console.ReadLine();

                    if (userInput.Equals("start"))
                    {
                        break;
                    }
                    Console.WriteLine("Not correct, please try again");
                }


                var minutes = 10;
                Console.WriteLine("Going to sleep for " + minutes + " Minutes...");
                Thread.Sleep(1000 * minutes * 60);

                Console.WriteLine("Done...");

                Console.ReadLine();
            }
//start timer
//put this into your if statement
Timer timer = new Timer (1000 * 60 * 10);
timer.Elapsed += delegate (object sender, EventArgs e) 
{
    //do something
    timer.Stop ();
    timer.Dispose ();
};
timer.Start ();

试试这个,使用 system.timers 而不是线程。这应该启动 10 分钟计时器,它会做一些事情并在操作结束时自行处理。