Мы используем. NET Стандарт 2.1 / C# 8.0. и я ищу что-то, что является вариантом нуль-объединяющего оператора / нулевого условного оператора / троичного оператора.
Упрощенная версия кода, которую я получил, которая работает:
studentPhoneNumber = (student.PhoneNumber != null) ? student.PhoneNumber.Number : "None specified"
studentPhoneNumber
- это строка
PhoneNumber
сама по себе является классом, который может быть нулевым, если студент еще не установил его.
Я бы предпочел, чтобы это звучало примерно так:
studentPhoneNumber = student.PhoneNumber?.Number : "None specified"
но варианты, которые я пробовал, не работают.
Я знаю Шаблон нулевого объекта Фаулера и закон Деметры, и то, что их применение могло бы упростить это, но это было бы огромным изменением в нашей кодовой базе.
Сейчас я просто искал какой-то оператор, который бы делал это читается легче.