关于c#:清除当前行,与C中的fflush(stdout)一样

Clear the current line, as with fflush(stdout) in C

本问题已经有最佳答案,请猛点这里访问。

我有一个很长的for循环,它打印出许多信息行。我希望它只保留一行,覆盖前面的行。我试过console.out.flush(),但似乎不起作用。


使用

1
Console.SetCursorPosition

获取光标的使用位置

1
2
Console.CursorLeft
Console.CursorTop

例子

1
2
3
4
5
6
7
8
9
10
11
12
13
int i = 0;

Console.WriteLine("Numbers will count below this line");

int cLeft = Console.CursorLeft;
int cTop = Console.CursorTop;

while (true)
{
    Console.SetCursorPosition(cLeft, cTop);
    Console.WriteLine(i);
    i++;
}