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

Итак, C# 8 наконец-то вышел из ворот, и вы тоже можете его использовать, если скачаете .net core 3. С ним мы получаем целую кучу новых функций всех форм и размеров. Некоторые функции настолько малы и специализированы, что я не думаю, что когда-либо буду использовать их, кроме Как это сделать, но есть много функций, которые я буду использовать буквально каждый день. Я просмотрел функции, которые буду использовать, и, основываясь на своем совершенно предвзятом и необъективном мнении, разделил их на:

Хорошие функции, которые вполне хороши сами по себе, но либо решают проблему, которой у меня на самом деле не было, либо решение так же сложно, как и проблема. Эти особенности:

  • Методы интерфейса по умолчанию
  • Сопоставление по шаблонам кортежей
  • Сопоставление позиционных паттернов
  • Одноразовые реф-структуры
  • Улучшение интерполированных дословных строк

Лучшие функции — это те, которые решают определенную проблему или проблему, о которых я знаю и чувствую, но не меняют правила игры. Они могут заставить меня написать код, который немного лучше или менее подвержен ошибкам, и это огромный плюс. Но эти функции не изменят моего мышления и того, как я использую язык. Такие функции, как:

  • Члены только для чтения
  • Индексы и диапазоны
  • Статические локальные функции
  • Объединение с нулевым значением

И, наконец, лучшие функции — те, которые решают конкретную болевую точку (в одном случае эта функция избавляет меня от 20-летнего зуда :D) или которые меняют то, как я думаю о какой-то проблеме. Смелые и перспективные функции, а иногда и несовместимые с предыдущими версиями :) В произвольном порядке это:

  • Переключение выражений
  • Сопоставление с использованием шаблонов свойств
  • Использование деклараций
  • Обнуляемые ссылочные типы
  • Асинхронные потоки

В следующие дни я подробно расскажу об этих функциях и дам вам свое мнение о них. Чтобы получить официальную информацию, вы можете перейти здесь.