求指教lamada怎么写?

兔子家族-二哥 2020-11-05 03:48:49
想按DutyType 分组,获得每个Type数量(Number)最多的一条数据 求指教怎么写?



if (list.Count(x => x.DutyType == "1") > 0)
{
ReList.Add(list.Where(x => x.DutyType == "1").OrderByDescending(x => x.Number).FirstOrDefault());
}
if (list.Count(x => x.DutyType == "2") > 0)
{
ReList.Add(list.Where(x => x.DutyType == "2").OrderByDescending(x => x.Number).FirstOrDefault());
}
if (list.Count(x => x.DutyType == "3") > 0)
{
ReList.Add(list.Where(x => x.DutyType == "3").OrderByDescending(x => x.Number).FirstOrDefault());
}


目前这样写的
...全文
375 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
跳动de指尖 2021-02-24
  • 打赏
  • 举报
回复

var result = from x in list
                group x by x.DutyType
                into g
                select (from y in g orderby y.Number descending select y).FirstOrDefault();
ourhouzi 2021-02-19
  • 打赏
  • 举报
回复
var relist = list.GroupBy(t => t.DutyType).Select(t => t.OrderByDescending(t => t.Number).First());
可爱的肥皂 2020-12-30
  • 打赏
  • 举报
回复
你写的就是lamad。 去重使用 .Distinct();
  • 打赏
  • 举报
回复
至少还可以获取所有的DutyType到一个集合然后去重复,然后循环来做,这样比较标准。
劲疯舞 2020-11-05
  • 打赏
  • 举报
回复
就是这么写的

111,094

社区成员

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

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

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