2015-05-19 98 views
-1

我有一个类型(A)的列表,其中包含除了类型(B)的另一个列表之外的各种属性。我想过滤掉没有特定属性值的子列表(类型B)中的对象。在父列表中筛选列表中的对象

例如,我有一个商店列表。在这个商店列表中,我有另外一个品牌列表(其中包含具有各种属性的对象)。我想过滤出品牌列表中没有“品种”属性等于5的所有商品,然后返回品牌列表中已过滤出的商品列表中的商店列表。

这是我到目前为止已经试过:

 foreach (var store in stores) 
     { 
      var brands = store.Brands.Where(x => x.Detail.Variety == 5).ToList(); 
     } 

,但我不知道如何让一切除了品牌一模一样更换这套新的与现有门店品牌列表不等于5的品种不再出现。

进一步明确:

我有一个叫做 '房屋' 名单。它包含5个'Store'对象。每个商店内部都有属性。其中一个属性是名为“品牌”的列表。在此列表中,有“品牌”对象具有各种不同的属性。我想过滤掉所有的“品牌”对象,其中一个属性没有特定的值('Variety'= 5)。一旦这些“筛选出来”,我想要返回原来的“商店”列表,除了'品牌'列表中的品牌对象没有我刚刚指定的属性值('品种'= 5)。

+4

请不要只问我们为你解决问题。告诉我们你是如何试图自己解决问题的,然后向我们展示结果是什么,并告诉我们为什么你觉得它不起作用。请参阅“[您尝试过什么?](http://whathaveyoutried.com/)”,以获得一篇您最近需要阅读的优秀文章。 –

+0

这是什么问题,完全是?!...你可能会添加一些代码清除... – Roboticist

+0

更新,以进一步澄清和包括我已经尝试过。 – John

回答

1
foreach(var store in Stores) 
{ 
    store.Brands=store.Brands.Where(b=>b.Variety==5).ToList(); 
}