У меня есть список объектов, которые содержат объект Person, который может иметь нуль. То, что я хотел бы сделать, это получить значение свойства Name объекта First Person, которое не является нулевым, и если все объекты Person равны null, верните пустую строку.
Моя лучшая попытка заключается в следующем:
string userName = MyObjectList.FirstOrDefault(x => x.Person != null).Person.Name ?? string.Empty;
Думаю, я понимаю, почему это не работает; если лицо является нулевым для каждого объекта в моем списке, то мы получим значение по умолчанию, которое будет нулевым и отбросит нулевую ссылочное сообщение об ошибке при попытке получить доступ к собственности Person.
Я могу получить результат, который я хочу, проверив, если какой-либо объект не является нулевым, а затем первым, но я предпочел бы выполнить это в одном операторе LINQ. Любой вход оценивается, спасибо.