我有商店(的ObservableCollection<Store>
類型)的列表和Store
對象有一個名爲特點(List<Feature>
型)屬性。和Feature
對象有一個名稱屬性(類型string
)。LINQ相交於內收集
總括來說,專賣店的名單有特色
我有DesiredFeatures(的List<string>
類型)第二集合的列表。
我需要使用LINQ給我結果只有所有的DesiredFeatures商店。到目前爲止,我只能提出一個查詢,該查詢給出了或結果,而不是和。
這裏是一個樣子:
var q = Stores.Where(s=> s.Features.Any(f=> DesiredFeatures.Contains(f.name)));
我知道Intersect
能有所幫助,這裏是我是如何使用它:
var q = Stores.Where(s => s.Features.Intersect<Feature>(DesiredFeatures));
這是我被困,Intersect想要一個Feature
對象,我需要相交的是Feature.Name。
目標是結束一個ObservableCollection,其中每個商店都具有所有DesiredFeatures。
謝謝!
感謝Ivan,GroupJoin是完美的解決方案,並做到了這一點。 –