C# 8 — Чем лучше, тем лучше, лучше

Итак, C# 8 наконец-то вышел из ворот, и вы тоже можете его использовать, если скачаете .net core 3. С ним мы получаем целую кучу новых функций всех форм и размеров. Некоторые функции настолько малы и специализированы, что я не думаю, что когда-либо буду использовать их, кроме Как это сделать, но есть много функций, которые я буду использовать буквально каждый день. Я просмотрел функции, которые буду использовать, и, основываясь на своем совершенно предвзятом и необъективном мнении, разделил их на:
Хорошие функции, которые вполне хороши сами по себе, но либо решают проблему, которой у меня на самом деле не было, либо решение так же сложно, как и проблема. Эти особенности:
- Методы интерфейса по умолчанию
- Сопоставление по шаблонам кортежей
- Сопоставление позиционных паттернов
- Одноразовые реф-структуры
- Улучшение интерполированных дословных строк
Лучшие функции — это те, которые решают определенную проблему или проблему, о которых я знаю и чувствую, но не меняют правила игры. Они могут заставить меня написать код, который немного лучше или менее подвержен ошибкам, и это огромный плюс. Но эти функции не изменят моего мышления и того, как я использую язык. Такие функции, как:
- Члены только для чтения
- Индексы и диапазоны
- Статические локальные функции
- Объединение с нулевым значением
И, наконец, лучшие функции — те, которые решают конкретную болевую точку (в одном случае эта функция избавляет меня от 20-летнего зуда :D) или которые меняют то, как я думаю о какой-то проблеме. Смелые и перспективные функции, а иногда и несовместимые с предыдущими версиями :) В произвольном порядке это:
- Переключение выражений
- Сопоставление с использованием шаблонов свойств
- Использование деклараций
- Обнуляемые ссылочные типы
- Асинхронные потоки
В следующие дни я подробно расскажу об этих функциях и дам вам свое мнение о них. Чтобы получить официальную информацию, вы можете перейти здесь.