1. ホーム
  2. c#

[解決済み] C#のWindowsコンソールアプリで現在行を更新するにはどうしたらいいですか?

2022-03-17 05:42:04

質問

C#でWindowsコンソールアプリを作成する場合、現在の行を延長したり、新しい行に移動することなくコンソールに書き込むことは可能でしょうか? 例えば、あるプロセスが完了にどれだけ近づいているかを表すパーセンテージを表示したい場合、カーソルと同じ行で値を更新すればよく、パーセンテージごとに新しい行に移動する必要はないと思います。

これは、C#の標準的なコンソールアプリでできるのでしょうか?

どのように解決するのですか?

のみを印刷する場合 "\r" をコンソールに出力すると、カーソルが現在の行の先頭に戻り、それを書き換えることができます。これでうまくいくはずです。

for(int i = 0; i < 100; ++i)
{
    Console.Write("\r{0}%   ", i);
}

数字の後に数個のスペースがあるのは、前にあったものがすべて消去されていることを確認するためです。
を使用していることにもご注目ください。 Write() の代わりに WriteLine() というのは、行末に "\n" を付けたくないからです。