我正在尝试显示同一位置的装载百分比
我找到了解决方案
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}");
有更好的解决方案吗?
答案 0 :(得分:1)
最简单的方法通常是
var stringOfLengthMaxWithSpacestoLeft = yourString.PadLeft(MaxStringLength, ' ');
或
var stringOfLengthMaxWithSpacestoRight = yourString.PadRight(MaxStringLength, ' ');
如果您想清除该行,您所要做的就是使用退格字符,然后以相同的长度(即
)覆盖for (var i = 0; i++; i < MaxStringLength)
Console.Write("\b");
然后您可以重新开始写作。