0

这就是我想要做的:

  1. 控制台要求输入
  2. 控制台输出东西
  3. 输出即将到来时,输入仍然可以随时输入

所以它基本上做了以下事情:

string message;
Console.WriteLine("Please enter your message");
message = Console.ReadLine();
Console.WriteLine("While you're writing that, this is shown,");
Console.WriteLine("And you can continue to write as things are being outputted");

我怎样才能实现这个功能?我需要运行多个线程吗?如何将输入从一个控制台窗口发送到另一个?

4

1 回答 1

0

这是一个使用 a 的非常简单的示例Task

while (true)
{
    Console.WriteLine("Enter number");
    var input = Console.ReadLine();
    System.Threading.Tasks.Task.Factory.StartNew(() => 
    {
        int n;
        if(Int32.TryParse(input, out n))
            for(int i=n; i>0; i--)
            {
                Console.WriteLine(String.Format("{0} -> {1}", n, i));
                Thread.Sleep(500);
            }
    });
}

这是一个无限循环,要求输入一个数字。如果您输入一个数字,程序将开始倒计时,但您可以在输出运行时输入下一个数字。

于 2013-07-25T14:13:47.353 回答