我可以从控制台清除特定文本吗?
本文关键字:文本 控制台 清除 我可以 | 更新日期: 2023-09-27 18:35:43
我尝试构建一个游戏,我总是清除屏幕,但这会使它滞后。那么,为了不滞后,我可以清除特定文本吗?
如果您只想删除最后一个字符,则只需使用 ''b 字符console backspace
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
欲了解更多信息,请参阅此处