Как проверить значение null до использования в linq?

У меня есть список объектов, которые содержат в нем еще один объект.

List<MyClass> myClass = new List<MyClass>();

Я хочу сделать некоторые linq как это

myClass.Where(x => x.MyOtherObject.Name = "Name").ToList();

Вещь иногда "MyOtherObject" имеет значение NULL. Как я могу проверить это?

Ответ 1

Простой, просто добавьте предложение AND, чтобы проверить, не является ли оно null:

myClass.Where(x => x.MyOtherObject != null && x.MyOtherObject.Name = "Name").ToList();

Ответ 2

Вы можете просто сделать свою проверку предикатов нулевым...

myClass.Where(x => (x.MyOtherObject == null) ? false : x.MyOtherObject.Name == "Name").ToList();

Ответ 3

Я бы сделал что-то вроде этого:

myClass.Where( x => x.MyOtherObject != null)
       .Where( y => y.MyOtherObject.Name = "Name")
       .ToList();