В чем разница между Console.WriteLine и Console.Out.WriteLineAsync в асинхронном методе?C#

Место общения программистов C#
Anonymous
В чем разница между Console.WriteLine и Console.Out.WriteLineAsync в асинхронном методе?

Сообщение Anonymous »

Однажды, когда я использовал фрагмент cw в асинхронном методе, Visual Studio использовала await Console.Out.WriteLineAsync(); вместо исходного Console.WriteLine();. Сегодня я обновил Visual Studio до 17.10 и заметил, что эта функция удалена.
Я хотел бы спросить, есть ли разница между этими двумя методами? Или какой лучше использовать в асинхронных методах?
Я думал, что метод await будет быстрее при отображении большого количества текста, но я тестировал его с помощью следующего метода и не увидел ожидаемый эффект.
[Benchmark]
public void Benchmark1()
{
Parallel.For(0, 200, async i =>
{
await Console.Out.WriteLineAsync($"example text {i}");
await Console.Out.WriteLineAsync($"example text {i}");
await Console.Out.WriteLineAsync($"example text {i}");
await Console.Out.WriteLineAsync($"example text {i}");
await Console.Out.WriteLineAsync($"example text {i}");
});
}

[Benchmark]
public void Benchmark2()
{
Parallel.For(0, 200, i =>
{
Console.WriteLine($"example text {i}");
Console.WriteLine($"example text {i}");
Console.WriteLine($"example text {i}");
Console.WriteLine($"example text {i}");
Console.WriteLine($"example text {i}");
});
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... elineasync

Вернуться в «C#»