我有一个具有属性的项目(名称,价格).
Item1 $100
Item2 $200
Item3 $150
Item1 $500
Item3 $150
Run Code Online (Sandbox Code Playgroud)
我想只在Name存在多次且使用LINQ并且没有创建自定义比较器时价格为$ 500时删除项目?对于上面一个具有$ 500的item1将从列表中删除.
谢谢,
试试这个:
var result = items
.GroupBy(item => item.Name)
.SelectMany(g => g.Count() > 1 ? g.Where(x => x.Price != 500) : g);
Run Code Online (Sandbox Code Playgroud)
第一组按名称.如果该组具有多个项目,则仅选择价格不是500的组中的项目.