33

長いプロセスを実行するコンソールアプリがあります。

完了率を1%ごとに、新しい行に出力しています。

プログラムをコンソールウィンドウの同じ場所に完了率を出力するにはどうすればよいですか?

4

2 に答える 2

79

行の先頭に戻るために印刷\rします(ただし、改行は印刷しないでください)。

例えば:

using System;
using System.Threading;

class Test
{
    static void Main()
    {
        for (int i=0; i <= 100; i++)
        {
            Console.Write("\r{0}%", i);
            Thread.Sleep(50);
        }
    }
}
于 2009-09-04T14:00:46.670 に答える
20

次のものを使用できます。

Console.SetCursorPosition();

位置を適切に設定します。

そのようです:

Console.Write("Hello : ");
for(int k = 0; k <= 100; k++){
    Console.SetCursorPosition(8, 0);
    Console.Write("{0}%", k);
    System.Threading.Thread.Sleep(50);
}

Console.Read();
于 2009-09-04T14:01:02.050 に答える