web-dev-qa-db-ja.com

.netコンソールアプリケーションでパーセンテージを表示

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

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

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

28
Ronnie Overby

印刷\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);
        }
    }
}
72
Jon Skeet

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

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();
17
Noon Silk