Start Debugging

Тег: csharp

164 статей · Страница3из17

IEnumerable vs IAsyncEnumerable vs IQueryable в C#: что должен возвращать метод?
Три интерфейса последовательностей, три модели выполнения. Используйте IQueryable, когда база данных может транслировать запрос, IAsyncEnumerable, когда производитель асинхронный и вам нужна потоковая передача, IEnumerable для всего остального в памяти.
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 внезапно привязываются к другим перегрузкам или перестают компилироваться. Вот что изменилось и как зафиксировать старое поведение там, где это важно.
Назад Вперёд