2011-04-08 21 views
11

我有一個包含另一個對象的對象列表。如何在linq使用之前檢查null?

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

我想要做一些LINQ這樣

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

事情有時是 「MyOtherObject」 爲空。我如何檢查這個?

+0

你的意思是'==「名字」嗎? – 2011-04-08 22:38:06

+0

@Chuck Savagen-雅 – chobo2 2011-04-08 22:47:20

回答

22

簡單,只需添加一個AND子句來檢查,如果它不是空:

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

可以很快讓你空謂詞檢查...

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

我會做這樣的事情:

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