Возможности C# 14
Что на самом деле вошло в C# 14, с кодом.
Эта подборка собирает всё, что я писал о возможностях языка C# 14: union-типы, partial-конструкторы и события, extension-типы и мелкие эргономические улучшения, которые легко пропустить в официальных release notes.
С чего начать
Если вы переходите с C# 12, начните со статей об union-типах и partial-членах - это самые заметные изменения поведения. Остальное - улучшения удобства.
Что на этой странице
Список ниже автоматически собирает статьи с любым из тегов: c# 14, csharp 14, c#, csharp, c# language. Сначала самые новые.
Указатель (8 статей)
2026 / 04
- Как генерировать строго типизированный клиентский код из спецификации OpenAPI в .NET 11
Используйте Kiota, официальный генератор OpenAPI от Microsoft, для создания fluent-клиента на C# со строгой типизацией из любой спецификации OpenAPI. Пошагово: установка, генерация, подключение к DI в ASP.NET Core и настройка аутентификации.
- Как прочитать большой CSV в .NET 11 и не словить нехватку памяти
Стримьте CSV в несколько гигабайт на .NET 11 без OutOfMemoryException. File.ReadLines, CsvHelper, Sylvan и Pipelines в сравнении с кодом и измерениями.
- Как отменить долго работающую Task в C# без взаимной блокировки
Кооперативная отмена с CancellationToken, CancelAsync, Task.WaitAsync и связанными токенами в .NET 11. Плюс блокирующие паттерны, превращающие чистую отмену в дедлок.
- Как использовать IAsyncEnumerable<T> с EF Core 11
Запросы EF Core 11 напрямую реализуют IAsyncEnumerable<T>. Как стримить строки через await foreach, когда предпочесть его вместо ToListAsync, и подводные камни со соединениями, трекингом и отменой.
- Как правильно использовать records с EF Core 11
Практическое руководство по сочетанию records C# и EF Core 11. Где records подходят, где они ломают change tracking, и как моделировать value objects, сущности и проекции, не воюя с фреймворком.
- Как вернуть несколько значений из метода в C# 14
Семь способов вернуть больше одного значения из метода C# 14: именованные кортежи, out-параметры, records, структуры, деконструкция и трюк с extension members для типов, которыми вы не владеете. Реальные бенчмарки и таблица решений в конце.
- System.Text.Json в .NET 11 Preview 3 добавляет PascalCase и политики именования на уровне члена
.NET 11 Preview 3 завершает историю с политиками именования в System.Text.Json: JsonNamingPolicy.PascalCase, атрибут [JsonNamingPolicy] на уровне члена и дефолт [JsonIgnore] на уровне типа для более чистых DTO.
- Пользовательские операторы составного присваивания в C# 14: += in-place без лишней аллокации
C# 14 позволяет перегружать +=, -=, *= и компанию как void-методы экземпляра, мутирующие приёмник in-place, сокращая аллокации для крупных хранителей значений вроде буферов в стиле BigInteger и тензоров.