22 новых фичи C# — каким будет C# 11+



Tl;dr: полуавтоматические свойства и ключевое словоfield, модификатор уровня доступа file, первичные конструкторы для классов и структур, паттерн-матчинг для списков, атрибуты для Main в программах с top level statement, сырые строки без экранирования внутри строки для удобства работы с строковым представлением json, xml, html и регулярных выражений, строковые литералы для UTF-8, паттерн-матчинг для Span<char, перенос строк в выражениях интерполяции, возможность перегрузки операторов с проверкой на переполнение. оператор побитового сдвига вправо без знака >>>, доступ к параметрам методов и членам экземпляра других типов в nameof, ключевое слово required для обязательно инициализируемых свойств и полей, автоматическая инициализация свойств структур значением по-умолчанию, generic-атрибуты, локальные переменные и параметры только для чтения, кэширование делегатов при использовании method group для статических методов, поля с значением хранящимся по ссылке, params Span<t/params ReadOnlySpan<t/params IEnumerable<t в объвлении методов чтобы избежать лишних неявных созданий массива в куче и копирований коллекций.



Внутри — разбор каждой фичи и сценарии применения.





Читать: https://habr.com/ru/post/663150/