禁用用户输入,直到thread.sleep完成

时间:2014-04-11 09:36:27

标签: c# multithreading console

所以我是一名初学程序员。 我是第二年学习如何编程。

所以我想知道是否有一种简单的方法可以等待Thread.Sleep在c#console应用程序中完成。因为当我有一个thread.sleep和一个console.readkey后面。 console.ReadKey将执行。

有人可以向我解释如何做到这一点。 如果你愿意的话,为什么会这样呢?

1 个答案:

答案 0 :(得分:3)

好的,所以这只会在我使用其他方法时发生。

如果我要这样做

Thread.Sleep(); //sleep 100 seconds
        Console.Read();
当我按下按钮时,没有任何事情发生。

然而使用不同的方法

static void Main(string[] args)
    {
        IntervalMessage("this is a test");
        Console.ReadKey();
    }
        public static void IntervalMessage(string message)
    {
        for (int i = 0; i < message.Length; i++)
        {
            if (i == message.Length - 1)
            {
                Console.Write(message[i]);
                System.Threading.Thread.Sleep(120);
            }
            else
            {
                Console.Write(message[i]);
                System.Threading.Thread.Sleep(110);
            }
        }
        Console.ResetColor();
    }

它可以在睡觉时接受输入。 感谢您的帮助。我自己想通了。