我有一個List<Organisation>
組織。Linq通過比較兩個int類型的列表來選擇對象
每個Organisation
有一個屬性List<int> Categories
。
我也有一個單獨的List<int> DisplayCategories
我想創建一個新的名爲List<Organisation>
DisplayOrganisations
。
DisplayOrganisations
將包含Organisation
的誰的Categories
出現在我的List<int> DisplayCategories
。
如何使用linq或lambda來實現這個功能?
以下是不正確的:
DisplayOrganisations = (from o in Organisations
where o.Categories.Intersect(DisplayCategories.CategoryIds)
select o).ToList();
我得到一個錯誤:
Cannot implicitly convert type 'System.Collections.Generic.IEnumerable' to 'bool'
我認爲,這是因爲我選擇機構是誰的分類的子列表需要被比作一個單獨列表DisplayCategories。
任何想法?
請不要使用secon d的方法在我的答案中。使用第一個。由於其經過驗證的Intersect更適合大型收藏。再次看到答案。 –
@ M.kazemAkhgary謝謝你,我已經修改我的代碼來使用相交,就像你的更新, – fourbeatcoder