-3
我試圖建立一個遊戲,我總是清除屏幕,但這使它滯後。所以,爲了使它不滯後,我可以清除特定的文本嗎?我可以從控制檯清除特定文本嗎?
我試圖建立一個遊戲,我總是清除屏幕,但這使它滯後。所以,爲了使它不滯後,我可以清除特定的文本嗎?我可以從控制檯清除特定文本嗎?
如果你只想刪除最後一個字符,然後簡單地使用console backspace
\ b焦炭
Console.Write("\b");
如果你想清除只有一個字符,你可以用Console.SetCursorPosition(int, int)
到達該點,則寫入空
Console.SetCursorPosition(Console.CursorLeft - 1, Console.CursorTop);
Console.WriteLine(" ");
要刪除多個字符,你可以存儲在一個變量的當前Console.CursorLeft
並使用Console.SetCursorPosition(--variablename, Console.CursorTop)
該值在循環中刪除許多字符 你要!
例如: - 如果你想刪除當前控制檯行,然後
public static void RemoveCurrentConsoleLine()
{
int currentCursorLine = Console.CursorTop;
Console.SetCursorPosition(0, Console.CursorTop);
Console.Write(new string(' ', Console.WindowWidth));
Console.SetCursorPosition(0, currentCursorLine);
}
Console.WriteLine("Top 1 Line");
Console.WriteLine("Top 2 Line");
Console.WriteLine("Top 3 Line");
Console.SetCursorPosition(0, Console.CursorTop - 1);
ClearCurrentConsoleLine();
然後輸出將是唯一進入前2行。第三線將被刪除: - [在命令窗口重寫字符]的
Top 1 Line
Top 2 Line
可能重複(http://stackoverflow.com/questions/2370695/rewriting-characters-in-command-window ) – Chris
我認爲在命令行應用程序中獲得乾淨刷新的可能性,即使替換文本,也是非常渺茫的。你有沒有想過一個WPF RichTextBox的方法?這也不是超級表演,但它很容易,不會閃爍。 – Brannon
我使蛇,所以文本的位置總是改變 – gil