Console.Clear() 可以用來選擇性清除特定行嗎?
在為學校做問答程式時,一位開發者遇到了Console.Clear() 會不加區別地擦除整個螢幕,從而陷入困境。問題是是否可以利用 Console.Clear() 來定位特定行,而使其他行保持不變。
解決方案:使用Console.SetCursorPosition
而不是僅依靠Console.Clear(),開發人員可以使用Console.SetCursorPosition 函數導航到所需的行號。到達所需位置後,可以實現自訂函數來選擇性地清除線條:
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();
採用Console.SetCursorPosition等方法可以提供對目標的靈活性和控制行清理,讓開發者保留特定內容,同時選擇性地刪除過時的資訊。
以上是我可以使用 Console.Clear() 選擇性地清除控制台中的特定行嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!