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

标签 c# multithreading console

所以我是一名初学者程序员。 我已经进入学习编程的第二年了。

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

有人可以向我解释一下如何做到这一点吗? 如果你愿意的话,为什么会发生这种情况。

最佳答案

好吧,只有当我使用其他方法时才会发生这种情况。

如果我这样做

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();
    }

它将能够在 sleep 时接受输入。 感谢您尝试提供帮助。我自己想出来了。

关于c# - 禁用用户输入,直到 thread.sleep 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23008865/

相关文章:

c# - "Object reference not set to an instance of an object error"添加具有 Entity Framework 多对多关系的项目时

c# - 用锁包装任务不是很有用吗?

java - Java中如何优化并发操作?

c++ - 更改整个控制台背景颜色 (Win32 C++)

android - Google Play控制台仅在某些LG型号上报告了InflateException,而没有更多详细信息:如何更深入?

c# - 解压 base64 压缩流

c# - 如何选择多列的计数

javascript - 如何: write nice HTML code and Javascript console

C# 和转换泛型参数

c++ - parallel_for 中定义的变量范围