C# 删除对象集合中,某一属性值小的元素

List<User> list= new List<User>();
list.Add(new User{ number= 01,name = "张三",value = 80 });
list.Add(new User{ number= 01,name = "张三",value = 90 });
list.Add(new User{ number= 01,name = "张三",value = 70 });
list.Add(new User{ number= 01,name = "李四",value = 80 });
list.Add(new User{ number= 01,name = "李四",value = 85 });
list.Add(new User{ number= 02,name = "张三",value = 70 });
list.Add(new User{ number= 02,name = "李四",value = 80 });
在list中,如果number 和 name 都相同,删掉value小的;相同number,name只保留一条数据;
求大神指点

阅读 4.5k
2 个回答
list = (from l in list
    group p by l.number, l.name into g
    select new {
        p.number,
        p.name,
        MaxValue = g.Max(p => p.value)
    }).toList();
新手上路,请多包涵

1.保存数据的时候可以进行过滤么
2.查询数据的时候可以只取最大的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进