我有一个清单:
身份证 | 休息 | 金额 |
---|---|---|
A | 10 | 100 |
B | 08 | 100 |
C | 03 | 100 |
D | 06 | 100 |
E | 07 | 200 |
F | 04 | 200 |
G | 09 | 300 |
H | 06 | 400 |
我 | 08 | 500 |
我已经尝试过了,但没有成功:
var t = Mylist
.GroupBy(f => new { f.ID,f.REST,f.AMOUNT })
.Select(grp => new
{
id = grp.Key.ID,
Max = grp.Max(g => g.AMOUNT),
Min = grp.Min(g => g.REST)
})
.ToList();
我也试过了,没成功:
var t = Mylist.OrderByDescending(e => e.REST).ThenBy(e => e.AMOUNT).First();
我需要同一行具有最小 REST 和最大 AMOUNT 的行,例如:
身份证 | 休息 | 金额 |
---|---|---|
F | 04 | 200 |
我假设您想要最小休息,并且在具有相同最小休息的任何行中,最大数量。请编辑您的问题以澄清您的要求。如果我的假设是正确的,那么你的顺序就错了:
var t = Mylist.OrderBy(e => e.REST).ThenByDescending(e => e.AMOUNT).First();
您需要升序的休息顺序,以便第一行具有最小值;金额则相反。