Напишите более безопасный и элегантный код C # с этими новыми функциями

Эта статья написана с учетом предварительной версии C # 8.0.

Выражения переключателя

До C # 8 конструкция switch имела избыточный синтаксис, потому что вам приходилось несколько раз писать break и case с выражениями переключателя - тело становится выражениями вместо операторов - вы можете выразить свои условия более элегантно. и лаконично.

Из:

To:

Присваивание нулевого слияния

Часто, когда вы проверяете переменную null, вы затем инициализируете ее:

В C # 8.0 вводится оператор присваивания ??=, который присваивает значение, если левая переменная равна null. С этим улучшением предыдущий пример выглядит следующим образом:

Индексы и диапазоны

C # 8 сделает индексацию более выразительной, добавив:

  • Оператор ^, который указывает, что индекс, относящийся к концу последовательности
  • Оператор диапазона (..), который определяет начало и конец диапазона в качестве его операндов.

Вы можете сказать «дайте мне последний элемент» без:

Обнуляемый ссылочный тип

NullReferenceException - одно из наиболее часто возникающих исключений. Обычно это происходит, когда вы пытаетесь вызвать метод объекта null:

В новых проектах C # 8 компилятор правильно предупреждает вас, когда может возникнуть такая ситуация: