过滤父列表中列表中的对象

时间:2015-05-19 15:01:40

标签: c# linq

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

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

这是我迄今为止所尝试过的:

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

但我不知道如何用现有的商店列表替换这套新品牌,以便除了不等于5的品种之外,一切都完全相同。

进一步澄清:

我有一个名为' Stores'的列表。它包含5' Store'对象。每个这些对象内部都是每个商店的属性。其中一个属性是名为' Brands'的列表。在此列表中,有品牌'具有各种不同属性的对象。我想过滤掉所有'品牌'对于其中一个属性不具有特定值的对象(' Variety' = 5)。一旦这些被过滤掉了#34;我想退回原来的商店'列出' Brands'中没有Brand对象的方式除外。列表中没有我刚刚指定的属性值(' Variety' = 5)。

1 个答案:

答案 0 :(得分:1)

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