Maison > développement back-end > C++ > Pouvez-vous effacer sélectivement des lignes spécifiques dans la console à l'aide de C# ?

Pouvez-vous effacer sélectivement des lignes spécifiques dans la console à l'aide de C# ?

Linda Hamilton
Libérer: 2024-12-29 10:12:12
original
861 Les gens l'ont consulté

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

Console.Clear() peut-il effacer sélectivement uniquement des lignes spécifiques dans une console ?

Dans un projet récemment exploré, effacer tout l'écran de la console à l'aide de Console.Clear( ) s'est révélé efficace. Cependant, une approche plus raffinée était souhaitée : effacer uniquement des lignes spécifiques au lieu de la console entière.

Cibler des lignes spécifiques

Malheureusement, Console.Clear() n'a pas la capacité de cibler sélectivement des lignes spécifiques pour effacement. Cependant, vous pouvez utiliser la fonction Console.SetCursorPosition pour accéder à un numéro de ligne spécifique. Une fois positionné sur la ligne souhaitée, vous pouvez l'effacer en écrivant une série d'espaces s'étendant sur la largeur de la fenêtre de la console, écrasant ainsi le texte précédent.

Méthode ClearCurrentConsoleLine

Pour simplifier ce processus, nous définissons une méthode statique appelée ClearCurrentConsoleLine() :

public static void ClearCurrentConsoleLine()
{
    int currentLineCursor = Console.CursorTop;
    Console.SetCursorPosition(0, Console.CursorTop);
    Console.Write(new string(' ', Console.WindowWidth));
    Console.SetCursorPosition(0, currentLineCursor);
}
Copier après la connexion

Cette méthode détermine la position actuelle du curseur de ligne, ramène le curseur au début de cette ligne, écrit des espaces sur la largeur de la fenêtre pour écraser le texte, puis ramène le curseur à sa position d'origine.

Exemple d'utilisation

Pour illustrer cette approche, considérons l'exemple suivant :

Console.WriteLine("Test");
Console.SetCursorPosition(0, Console.CursorTop - 1);
ClearCurrentConsoleLine();
Copier après la connexion

Une fois exécuté, ce code :

  1. Sort "Test" au console.
  2. Replace le curseur à la ligne précédente (c'est-à-dire la ligne contenant "Test").
  3. Appelle ClearCurrentConsoleLine() pour effacer cette ligne.

En conséquence, "Test" est supprimé de l'affichage de la console, tout en laissant intact tout contenu ultérieur.

Supplémentaire Informations

Pour une exploration plus approfondie, reportez-vous à la documentation MSDN pour Console.SetCursorPosition :

  • [Méthode Console.SetCursorPosition](https://docs.microsoft.com/en-us /dotnet/api/system.console.setcursorposition?view=net-6.0)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal