C# Windows コンソール アプリケーションでのコンソール出力のオーバーライド
C# Windows コンソール アプリケーションを使用する場合、カーソル操作はユーザー エクスペリエンスを調整するために重要です。これには、折り返さずに現在の行を変更する機能が含まれます。
質問:
C# コンソール アプリケーションで、新しいテキストを追加する代わりに、現在の行の既存のテキストを上書きすることはできますか?これは、レイアウトに影響を与えることなく、進行状況バーを表示したり値をリアルタイムで更新したりする場合に特に重要です。
解決策:
はい、C# コンソール アプリケーションの現在の行を上書きすることができます。重要なのは、カーソル位置を現在の行の先頭にリセットする「r」文字を使用することです。
この手法を示すサンプル コード スニペットは次のとおりです。
<code class="language-csharp">for (int i = 0; i < 100; i++) { Console.Write("\r进度:{0}% ", i + 1); Thread.Sleep(50); }</code>
手順:
この例では、for ループを使用して反復処理を行い、進行状況の更新を表示します。各更新の前に「r」を使用していることに注意してください。これにより、カーソルが現在の行の先頭にリセットされ、以前に表示されていた値を更新されたパーセンテージで上書きできるようになります。
上書きされたテキストが元のテキストを完全に覆うように、更新されたパーセンテージの後にスペースを追加します。これにより、以前に存在していた可能性のあるテキストが効果的に消去されます。
Console.WriteLine() の代わりに Console.Write() を使用することに注意することが重要です。これは、レイアウトを壊すことになる更新のたびに改行文字 (「n」) を挿入したくないためです。
以上がC# コンソール アプリは現在の行の既存のテキストを上書きできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。