我有一个类型(a)的列表,除了另一个类型(B)的列表外,它还包含各种属性。我想过滤掉(类型B)子列表中没有特定属性值的对象。
例如,我有一个商店列表。在这个商店列表中,我有另一个Brands列表(其中包含具有各种属性的对象)。我想过滤掉Brands列表中'Variety'属性不等于5的所有项目。,然后返回Stores列表,其中包含Brands列表中过滤掉的项目。
这是我到目前为止所尝试的:
foreach (var store in stores)
{
var brands = store.Brands.Where(x => x.Detail.Variety == 5).ToList();
}
但是我不知道如何将这组新的品牌替换为现有的商店列表,以便除了品种不等于5的品牌不再出现外,一切都完全相同。
进一步说明:
我有一个名为"商店"的列表。它包含5个"Store"对象。在每个对象中都有每个存储的属性。其中一个属性是一个名为"品牌"的列表。在这个列表中有"Brand"对象,它们有各种不同的属性。我想过滤掉所有没有特定值的'Brand'对象('Variety' = 5)。一旦这些被"过滤掉",我想返回原始的'Stores'列表,除了没有'Brands'列表中没有我刚刚指定的属性值('Variety' = 5)的Brand对象。
foreach(var store in Stores)
{
store.Brands=store.Brands.Where(b=>b.Variety==5).ToList();
}