我有商店(的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是完美的解决方案,并做到了这一点。 –