Start Debugging

Тег: csharp

143 статей · Страница1из15

async void vs async Task в C#: когда какой вариант правильный
async Task - значение по умолчанию, а async void - исключение. Используйте async void только для обработчиков событий, обработчиков верхнего уровня в цикле сообщений и небольшого набора колбэков фреймворка, которые требуют сигнатуры void. Везде остальном async Task выигрывает по обработке исключений, композиции и тестируемости.
Исправление: ломающее изменение разрешения перегрузок в C# 14 со Span и ReadOnlySpan
После обновления до C# 14 / .NET 10 вызовы вроде array.Contains, x.Reverse() и MemoryMarshal.Cast внезапно привязываются к другим перегрузкам или перестают компилироваться. Вот что изменилось и как зафиксировать старое поведение там, где это важно.
Вперёд