删除列表中的项目

时间:2019-05-22 15:41:19

标签: c# .net linq

假设我有一个名为库存的课程。 库存具有许多产品。每个产品具有许多特征,例如大小颜色列表。

我想删除库存中所有的帽子颜色。我想知道是否可以在1行内使用LINQ而不是使用循环。

inventory.Products.Where(x=>x.name.ToLower() == "hats").SelectMany(x=> x.Colors) 

这是我目前所能获得的。

谢谢!

1 个答案:

答案 0 :(得分:3)

如果您非常想要单线,则应使用此:

foreach (var product in inventory.Products.Where(x => x.name.ToLower() == "hats")) { product.Colors.Clear(); }

LINQ是一个用于查询数据而不用于更改数据的库。毫无疑问,平衡LINQ和语言功能要比“仅一行LINQ”要好得多。