【发布时间】:2019-01-29 09:46:35
【问题描述】:
我正在尝试在同一个地方显示加载百分比
我找到了解决方案
Console.Write($"\r{ (double) (i+1) * 100 / list.Count }% - {text}");
但在百分比之后,我想显示一些具有不同长度的文本,例如 20-40 个字符之间的内容
这种方法的问题在于,如果“新”行比“上一个”行短,那么“上一个”文本的某些部分仍然存在。
我设法写了'hack',它用空格覆盖当前行(清除它),然后写我的行
Console.Write($"\r ");
Console.Write($"\r{ (double) (i+1) * 100 / list.Count }% - {text}");
有更好的解决方案吗?
【问题讨论】:
-
如果您知道前面文本的长度,您可以在控制台中写入尽可能多的退格字符 (
\b),然后执行Console.Write。另见stackoverflow.com/a/5195807/2137237
标签: c#