c# - 有没有办法清除控制台的某个部分?

标签 c# console

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

最佳答案

我建议使用 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("                           ");

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

关于c# - 有没有办法清除控制台的某个部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15030498/

相关文章:

c# - 如何在IIS中下载文件?

c# - 循环正则表达式匹配

console - System.out 什么时候不会出现在 Java 控制台中?

javascript - 需要帮助使用 jquery 从浏览器控制台选择标签

c++ - _O_WTEXT、_O_U16TEXT、_O_U8TEXT - 这些模式在 mingw 编译器中是否可行,是否有任何解决方法?

c# - 设计抽象基类。使用什么类型,抽象的还是具体的?

c# - 如何运行 T4Toolbox Generator 或 CSharpTemplate?

c# - 在 asp.net Web api 应用程序中自定义 System.Web.Http.AuthorizeAttribute

java - 使 URL 在 Eclipse 控制台中可点击

linux - 哪些可能的原因会阻止 Linux 上的虚拟终端?