使用linq获取最小值和最大值

我有一个列表,其值如下所示
使用Linq如何从COL1获得最小值,从COL2获得所选id的最大值。

id COL1 COL2 ===================== 221 2 14 221 4 56 221 24 16 221 1 34 222 20 14 222 1 12 222 5 34 

基于以下列表,它应显示id 221 1 56222 1 34帮助我

如果您想要列表中每个ID的最小值和最大值,则必须按ID分组,并且相应地得到MAX和Min,如:

 var query = yourList.GroupBy(r=> r.ID) .Select (grp => new { ID = grp.Key, Min = grp.Min(t=> t.Col1), Max = grp.Max(t=> t.Col2) }); 

使用Enumerable.Max方法计算最大值,如:

 var max = yourList.Max(r=> r.Col1); 

使用Enumerable.Min方法计算字段的最小值,如:

 var min = yourList.Min(r=> r.Col2);