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.
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.
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); }
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.
Pour illustrer cette approche, considérons l'exemple suivant :
Console.WriteLine("Test"); Console.SetCursorPosition(0, Console.CursorTop - 1); ClearCurrentConsoleLine();
Une fois exécuté, ce code :
En conséquence, "Test" est supprimé de l'affichage de la console, tout en laissant intact tout contenu ultérieur.
Pour une exploration plus approfondie, reportez-vous à la documentation MSDN pour Console.SetCursorPosition :
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!