2016-11-30 62 views
0

在我的應用程序此代碼(填充任務與預期結果)用於獲取所有任務,其中母公司爲null又名rootTasks:過濾一個IList

IList<Task> tasks = ObjectSpace.GetObjects<Task>(); 

var rootTasks = tasks.ToList().FindAll(delegate (Task t) { return t.Parent == null; }); 

但這並不(rootTasks爲空在這種情況下) :

var rootTasks = tasks.Where(x => x.Parent == null); 

有人可以告訴我正確的方法來使用.Where做到這一點嗎?

還有任何意見,爲什麼我應該使用一個對另一個是值得歡迎的。

+2

「但這並不」完全不說明問題。哪些代碼不起作用?它對我來說看起來很好... –

+1

是不是你在'Where'調用'.ToList()'的問題? – rbm

+0

對「works」加了更好的描述 – LorneCash

回答

-2

.ToList()需要在最後是這樣的:

var rootTasks = tasks.Where(x => x.Parent == null).ToList(); 
+1

'ToList'不應該被要求。 'Where'返回一個懶惰的序列,所以你需要遍歷它來評估查詢,但是你不需要使用'ToList'去做。 – Lee