Просто отвечаю, потому что я не видел подход, который я использую в подобных сценариях, ни в одном из существующих ответов.
Как насчет ...
_viewModel.PhoneDefault = user == null ? string.Empty :
!string.IsNullOrEmpty(user.PhoneDay) ? user.PhoneDay :
!string.IsNullOrEmpty(user.PhoneEvening) ? user.PhoneEvening :
!string.IsNullOrEmpty(user.Mobile) ? user.Mobile :
string.Empty;
Это неудобноВы должны проверить нулем пользователя в начале, потому что это заставляет повторять string.Empty
, но, тем не менее, я думаю, что это довольно читабельно.
Мои два цента;)