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

を使用した非常に簡単な例を次に示します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 に答える