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

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

Linda Hamilton
リリース: 2024-12-29 10:12:12
オリジナル
848 人が閲覧しました

Can You Selectively Clear Specific Lines in the Console Using C#?

Console.Clear() はコンソール内の特定の行のみを選択的に消去できますか?

最近調査したプロジェクトで、Console.Clear() を使用してコンソール画面全体を消去します。 )効果があることが証明されました。ただし、コンソール全体ではなく特定の行のみをクリアするという、より洗練されたアプローチが望まれていました。

特定の行をターゲット

残念ながら、Console.Clear() には、特定の行を選択的にターゲットにする機能がありません。消去。ただし、Console.SetCursorPosition 関数を使用して、特定の行番号に移動することができます。目的の行に配置したら、コンソール ウィンドウの幅にまたがる一連のスペースを書き込むことで行をクリアし、前のテキストを効果的に上書きできます。

ClearCurrentConsoleLine Method

このプロセスを簡素化するために、次のように定義します。 ClearCurrentConsoleLine() と呼ばれる静的メソッド:

public static void ClearCurrentConsoleLine()
{
    int currentLineCursor = Console.CursorTop;
    Console.SetCursorPosition(0, Console.CursorTop);
    Console.Write(new string(' ', Console.WindowWidth));
    Console.SetCursorPosition(0, currentLineCursor);
}
ログイン後にコピー

このメソッドは、現在の行カーソルの位置を決定し、カーソルを元の位置に戻します。その行の先頭に、ウィンドウ幅全体にスペースを書き込んでテキストを上書きし、カーソルを元の位置に戻します。

使用例

このアプローチを説明するために、次の例を考えてみましょう。 :

Console.WriteLine("Test");
Console.SetCursorPosition(0, Console.CursorTop - 1);
ClearCurrentConsoleLine();
ログイン後にコピー

実行すると、このコード:

  1. 「Test」をconsole.
  2. カーソルを前の行 (つまり、「Test」を含む行) に戻します。
  3. ClearCurrentConsoleLine() を呼び出してその行を消去します。

その結果、「Test」はコンソール表示から削除されますが、後続のコンテンツは残ります。

追加情報

さらに詳しく知りたい場合は、MSDN ドキュメントの Console.SetCursorPosition を参照してください。

  • [Console.SetCursorPosition]メソッド](https://docs.microsoft.com/en-us/dotnet/api/system.console.setcursorposition?view=net-6.0)

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

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