Я выполняю 5 задач выполнения, как SO: < /p>
Код: Выделить всё
internal class Program
{
static void Main(string[] args)
{
Log($"New Start at line {Console.CursorTop}");
var tasks = new List();
for (int i = 0; i < 5; i++)
{
tasks.Add(DownloadFiles(i, 20));
}
Task.WaitAll(tasks.ToArray());
}
static async Task DownloadFiles(int itemNumber, int max)
{
var spinner = new ProgressSpinner();
for (int j = 1; j
, глядя на журналы, я смог выяснить причину проблемы: в Cmd Console.cursortop представляет фактический индекс линии с самого начала, в то время как в других терминалах это индекс линии, если 0 является первой видимой строкой. Я получаю такой вывод в журнале: < /p>
New Start at line 54
54
54
54
54
54
< /code>
Тогда неудивительно, что я получаю поведение, которое я описываю. Тем не менее, я действительно не уверен, как это исправить. Я мог бы просто сохранить свой собственный номер статического индекса для элементов прогресса, но это не будет работать не очень хорошо, если я также использую консоль.writeline Подробнее здесь: https://stackoverflow.com/questions/795 ... verlapping