来个大神帮看下泛型list过滤数据的问题

清茶&浊酒 2016-04-20 10:12:12

表: user{id、sex、class}

List<user> u_list :一个用户实体类List


想要的结果:u_list 根据class、sex分组然后获取最小id的那条数据。
类似SQL:select min(id),sex,class from user group by sex,class


求大神帮解答下
...全文
126 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
清茶&浊酒 2016-04-20
  • 打赏
  • 举报
回复
引用 6 楼 tcmakebest 的回复:
语法的确可以有两种
var u1 = new { id = 1, sex = 0, cls = 100 };
var u2 = new { id = 2, sex = 0, cls = 100 };
var list = new[] { u1, u2 }.ToList();
var min = list.GroupBy(c => new { sex = c.sex, cls = c.cls })
    .Select(k => new { sex = k.Key.sex, cls=k.Key.cls, id = k.Min(v => v.id) }).ToList();
大神V5 灰常感谢 方法有效 不过有点不明白,为么在groupby后面直接min时,获取不到id只能获取到分组字段....?我原来就是卡这里了 还有你那个(v=v.id) 这个为代表哪个对象?还望指点下
tcmakebest 2016-04-20
  • 打赏
  • 举报
回复
语法的确可以有两种
var u1 = new { id = 1, sex = 0, cls = 100 };
var u2 = new { id = 2, sex = 0, cls = 100 };
var list = new[] { u1, u2 }.ToList();
var min = list.GroupBy(c => new { sex = c.sex, cls = c.cls })
    .Select(k => new { sex = k.Key.sex, cls=k.Key.cls, id = k.Min(v => v.id) }).ToList();
-汪帆- 2016-04-20
  • 打赏
  • 举报
回复
u_list.OrderBy(u => u.class).ThenBy(u =>u.sex).Min(u => u.id);
清茶&浊酒 2016-04-20
  • 打赏
  • 举报
回复
引用 2 楼 xuanbg 的回复:
这个和泛型有半毛钱关系吗?
这不是用到泛型list了嘛
清茶&浊酒 2016-04-20
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
from u in u_list
group u by new {u.class,u.sex} into g
select new {
class = g.Key.class,
sex = g.Key.sex,
id = g.Min(x=>x.id)
}
不用这种语句只用list<>对象的方法可以实现么大神
software_artisan 2016-04-20
  • 打赏
  • 举报
回复
这个和泛型有半毛钱关系吗?
  • 打赏
  • 举报
回复
from u in u_list
group u by new {u.class,u.sex} into g
select new {
class = g.Key.class,
sex = g.Key.sex,
id = g.Min(x=>x.id)
}

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧