Однажды, когда я использовал фрагмент cw в асинхронном методе, Visual Studio использовала await Console.Out.WriteLineAsync(); вместо исходного Console.WriteLine();. Сегодня я обновил Visual Studio до 17.10 и заметил, что эта функция удалена.
Я хотел бы спросить, есть ли разница между этими двумя методами? Или какой из них лучше (кроме производительности) использовать в асинхронных методах?
По комментариям @PanagiotisKanavos, если в коде используется большое количество задач, Console.Out.WriteLineAsync (); иногда работает быстрее, но в большинстве случаев производительность обоих практически одинакова.
[Benchmark]
public async ValueTask Benchmark1()
{
await Parallel.ForAsync(0, 50, async (i, ct) =>
{
await Console.Out.WriteLineAsync(LONGTEXT);
await Job();
await Console.Out.WriteLineAsync("short_text");
});
}
[Benchmark]
public async ValueTask Benchmark2()
{
await Parallel.ForAsync(0, 50, async (i, ct) =>
{
Console.WriteLine(LONGTEXT);
await Job();
Console.WriteLine("short_text");
});
}
public async static ValueTask Job()
{
for (int i = 0; i < 12950; i++)
await Task.Yield();
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... elineasync
В чем разница между Console.WriteLine и Console.Out.WriteLineAsync в асинхронном методе? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
В чем разница между Console.WriteLine и Console.Out.WriteLineAsync в асинхронном методе?
Anonymous » » в форуме C# - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-
-
-
В чем разница между Console.WriteLine и Console.Out.WriteLineAsync в асинхронном методе?
Anonymous » » в форуме C# - 0 Ответы
- 49 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему Console.Writeline, Console.Write не работают в Visual Studio Express?
Anonymous » » в форуме C# - 0 Ответы
- 49 Просмотры
-
Последнее сообщение Anonymous
-