假设我有一个名为库存的课程。 库存具有许多产品。每个产品具有许多特征,例如大小或颜色列表。
我想删除库存中所有的帽子颜色。我想知道是否可以在1行内使用LINQ而不是使用循环。
inventory.Products.Where(x=>x.name.ToLower() == "hats").SelectMany(x=> x.Colors)
这是我目前所能获得的。
谢谢!
答案 0 :(得分:3)
如果您非常想要单线,则应使用此:
foreach (var product in inventory.Products.Where(x => x.name.ToLower() == "hats")) { product.Colors.Clear(); }
LINQ是一个用于查询数据而不用于更改数据的库。毫无疑问,平衡LINQ和语言功能要比“仅一行LINQ”要好得多。