3

我有一部分控制台需要不断更新不同行数的值。我知道 Console.Write(new string(' ', Console.WindowWidth)) 但这仅适用于单行。我有一排必须开始清理并向下移动到底部的行。顶部必须保持不变。是否有一个简单的命令,例如我必须使用循环/计数器的前一个命令?

4

2 回答 2

2

我建议使用 Console.Clear() 然后重写你想要保持不变的行。您也可以使用 Console.SetCursorPosition ,然后改写这些行以清除:

// Clear method
Console.WriteLine("Line1");
Console.WriteLine("Line2");
Console.WriteLine("Line3 to erase");
Console.Clear();
Console.WriteLine("Line1");
Console.WriteLine("Line2");

// SetCursorPosition method
Console.WriteLine("Line1");
Console.WriteLine("Line2");
Console.WriteLine("Line3 to erase");
Console.SetCursorPosition(0, 2);
Console.WriteLine("                           ");

清除/重写方法通常更快,除非您每秒写入数次文本,否则您不会看到任何闪烁。

于 2013-02-22T18:14:20.010 回答
1

使用 SetCursorPosition 方法写你想要 http://msdn.microsoft.com/fr-fr/library/system.console.setcursorposition(v=vs.80).aspx

于 2013-02-22T18:15:08.500 回答