使用C#构建Windows控制台应用程序时,是否可以在不扩展当前行或转到新行的情况下写入控制台?例如,如果我想显示一个百分比,该百分比代表一个过程到完成为止的距离,我只想在与光标相同的行上更新值,而不必将每个百分比都放在一个新行上。
可以使用“标准” C#控制台应用程序完成此操作吗?
如果仅打印"\r"到控制台,则光标会返回到当前行的开头,然后可以重写它。这应该可以解决问题:
"\r"
for(int i = 0; i < 100; ++i) { Console.Write("\r{0}% ", i); }
请注意数字后的几个空格,以确保删除之前的内容。 还请注意使用Write()代替,WriteLine()因为您不想在行末添加“ \ n”。
Write()
WriteLine()