In einem kürzlich untersuchten Projekt das Löschen des gesamten Konsolenbildschirms mit Console.Clear( ) erwies sich als wirksam. Es war jedoch ein verfeinerterer Ansatz gewünscht: Löschen nur bestimmter Zeilen statt der gesamten Konsole.
Leider fehlt Console.Clear() die Möglichkeit, gezielt auf bestimmte Zeilen abzuzielen Löschen. Sie können jedoch die Funktion Console.SetCursorPosition verwenden, um zu einer bestimmten Zeilennummer zu navigieren. Sobald Sie in der gewünschten Zeile positioniert sind, können Sie sie löschen, indem Sie eine Reihe von Leerzeichen schreiben, die sich über die Breite des Konsolenfensters erstrecken und so den vorherigen Text effektiv überschreiben.
Um diesen Prozess zu vereinfachen, definieren wir eine statische Methode namens ClearCurrentConsoleLine():
public static void ClearCurrentConsoleLine() { int currentLineCursor = Console.CursorTop; Console.SetCursorPosition(0, Console.CursorTop); Console.Write(new string(' ', Console.WindowWidth)); Console.SetCursorPosition(0, currentLineCursor); }
Diese Methode bestimmt die aktuelle Position des Zeilencursors und setzt den Cursor an den Anfang zurück Zeile, schreibt Leerzeichen über die Fensterbreite, um den Text zu überschreiben, und bringt dann den Cursor an seine ursprüngliche Position zurück.
Um diesen Ansatz zu veranschaulichen, betrachten Sie das folgende Beispiel:
Console.WriteLine("Test"); Console.SetCursorPosition(0, Console.CursorTop - 1); ClearCurrentConsoleLine();
Wenn dieser Code ausgeführt wird:
Dadurch wird „Test“ von der Konsolenanzeige entfernt, während alle nachfolgenden Inhalte intakt bleiben.
Weitere Informationen finden Sie in der MSDN-Dokumentation für Console.SetCursorPosition:
Das obige ist der detaillierte Inhalt vonKönnen Sie mit C# gezielt bestimmte Zeilen in der Konsole löschen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!