一尘不染

如何在C#Windows控制台应用程序中更新当前行?

c#

使用C#构建Windows控制台应用程序时,是否可以在不扩展当前行或转到新行的情况下写入控制台?例如,如果我想显示一个百分比,该百分比代表一个过程到完成为止的距离,我只想在与光标相同的行上更新值,而不必将每个百分比都放在一个新行上。

可以使用“标准” C#控制台应用程序完成此操作吗?


阅读 388

收藏
2020-05-19

共1个答案

一尘不染

如果仅打印"\r"到控制台,则光标会返回到当前行的开头,然后可以重写它。这应该可以解决问题:

for(int i = 0; i < 100; ++i)
{
    Console.Write("\r{0}%   ", i);
}

请注意数字后的几个空格,以确保删除之前的内容。
还请注意使用Write()代替,WriteLine()因为您不想在行末添加“ \ n”。

2020-05-19