我可以从控制台清除特定文本吗?

时间:2014-12-31 16:00:42

标签: c# text console clear

我尝试构建一个游戏,我总是清除屏幕,但这会让它变得迟滞。那么,为了使它不滞后,我能否清楚具体的文字?

1 个答案:

答案 0 :(得分:1)

如果您只想删除最后一个字符,那么只需使用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();

然后输出将只有前两行。第三行将被删除: -

Top 1 Line
Top 2 Line

For more information Refer Here