1. Полуавтоматические свойства и ключевое словоfield
.
2. Модификатор уровня доступа file
.
3. Первичные конструкторы для классов и структур.
4. Паттерн-матчинг для списков.
5. Атрибуты для Main в программах с top level statement.
6. Сырые строки без экранирования внутри строки для удобства работы с json, xml, html и регулярными выражениями.
7. Строковые литералы для UTF-8.
8. Паттерн-матчинг для Span<char>
.
9. Перенос строк в выражениях интерполяции.
10. Возможность перегрузки операторов с проверкой на переполнение
11. Оператор побитового сдвига вправо без знака >>>
.
12. Доступ к параметрам методов nameof
.
13.nameof
для членов экземпляров.
14. Ключевое слово required для обязательно инициализируемых свойств и полей.
15. Автоматическая инициализация свойств структур значением по-умолчанию.
16. generic-атрибуты.
17. локальные переменные и параметры только для чтения.
18. Кэширование делегатов при использовании method group для статических методов.
19. Поля с значением хранящимся по ссылке.
20.params Span<T>
/params ReadOnlySpan<T>
/params IEnumerable<T>
в объявлении методов чтобы избежать лишних неявных созданий массива в куче и копирований коллекций.
21. Удаление оператора проверки параметров на null !!
.
22. Предупреждения для имен типов полностью в нижнем регистре.
Внутри — разбор каждой фичи и сценарии применения.