Напишите более безопасный и элегантный код C # с этими новыми функциями
Эта статья написана с учетом предварительной версии C # 8.0.
Выражения переключателя
До C # 8 конструкция switch
имела избыточный синтаксис, потому что вам приходилось несколько раз писать break
и case
с выражениями переключателя - тело становится выражениями вместо операторов - вы можете выразить свои условия более элегантно. и лаконично.
Из:
To:
Присваивание нулевого слияния
Часто, когда вы проверяете переменную null
, вы затем инициализируете ее:
В C # 8.0 вводится оператор присваивания ??=
, который присваивает значение, если левая переменная равна null
. С этим улучшением предыдущий пример выглядит следующим образом:
Индексы и диапазоны
C # 8 сделает индексацию более выразительной, добавив:
- Оператор
^
, который указывает, что индекс, относящийся к концу последовательности - Оператор диапазона (
..
), который определяет начало и конец диапазона в качестве его операндов.
Вы можете сказать «дайте мне последний элемент» без:
Обнуляемый ссылочный тип
NullReferenceException
- одно из наиболее часто возникающих исключений. Обычно это происходит, когда вы пытаетесь вызвать метод объекта null
:
В новых проектах C # 8 компилятор правильно предупреждает вас, когда может возникнуть такая ситуация: