ホームページ > バックエンド開発 > C++ > C# を使用してコンソール行を選択的にクリアできますか?

C# を使用してコンソール行を選択的にクリアできますか?

Barbara Streisand
リリース: 2024-12-30 03:04:03
オリジナル
159 人が閲覧しました

Can I Selectively Clear Console Lines Using C#?

コンソール全体ではなく行を選択的にクリアするために Console.Clear() を使用できますか?

次のようなプログラミング シナリオで質問を繰り返さずに回答を表示するには、 Console.Clear() で特定の項目のみを選択的に削除できるのではないかと疑問に思うかもしれません。 Lines.

解決策

通常 Console.Clear() はコンソール ウィンドウ全体をクリアしますが、Console.SetCursorPosition メソッドは解決策を提供します。この方法を使用すると、コンソール内の目的の位置にカーソルを移動できます。この手法を実装すると、コンソールの残りの部分に影響を与えることなく、特定の行をクリアできます。

実装

  1. Console.SetCursorPosition を使用するを配置するにはCursor:

    • 行をクリアするには、まず Console.SetCursorPosition(0,cursorLinePosition) を使用してカーソルをその行の先頭に移動します。
  2. クリア行:

    • 現在の行をクリアするには、現在のカーソル位置から開始して一連の空白を書き込みます (Console.WindowWidth を使用してコンソールの幅を決定します)。これにより、既存のテキストが効果的に上書きされます。
  3. カーソルを元の位置に戻します:

    • 行で、もう一度 Console.SetCursorPosition(0,cursorLinePosition) を使用して、カーソルを元の位置に戻します。

コード例

public static void ClearCurrentConsoleLine()
{
    int currentLineCursor = Console.CursorTop;
    Console.SetCursorPosition(0, Console.CursorTop);
    Console.Write(new string(' ', Console.WindowWidth)); // Write white spaces to overwrite the line
    Console.SetCursorPosition(0, currentLineCursor); // Move cursor back to original position
}
ログイン後にコピー

使用法

ClearCurrentConsoleLine() メソッドを呼び出して、特定の行をクリアします。必要です。

追加情報

  • カーソルのちらつきやその他の視覚的な不一致を避けるために、Console.SetCursorPosition の使用を慎重に検討してください。
  • その他の関連情報を調べるConsole.BufferHeight や Console.BufferWidth などのメソッドをさらに使用してください。カスタマイズ。

以上がC# を使用してコンソール行を選択的にクリアできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート