c# вывод текста в нескольких цветах на консоль внутри цикла Parallel.For - PullRequest
0 голосов
/ 02 апреля 2020

У меня работает Parallel.For l oop, который должен печатать текст на консоли разными цветами. Я использовал код ниже, чтобы сделать это. Однако, когда я запускаю его, вот что происходит:

Один поток записывает «Item:» в консоль, но прежде чем он может записать результат [1], другой поток пишет «Item:». Я хотел бы знать, есть ли способ обойти это, чтобы я мог заставить каждый поток записать все на консоль до того, как начнет писать следующий поток.

Parallel.For(0, 256, i =>
    {
         //Irrelevant code omitted
         Console.ForegroundColor = ConsoleColor.Green;
         Console.Write("Item: ");
         Console.ForegroundColor = ConsoleColor.Gray;
         Console.Write(result[1]);
         Console.ForegroundColor = ConsoleColor.DarkYellow;
         Console.WriteLine("[" + result[2] + "]");
    });
...