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

Lak*_*mal 12 c# asp.net

我有一个列表,其值如下所示
使用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    
Run Code Online (Sandbox Code Playgroud)

根据以下列表,它应显示ID 221 1 56222 1 34 帮助我

Hab*_*bib 37

如果你想要列表中每个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)
                              });
Run Code Online (Sandbox Code Playgroud)

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

var max = yourList.Max(r=> r.Col1);
Run Code Online (Sandbox Code Playgroud)

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

var min = yourList.Min(r=> r.Col2);
Run Code Online (Sandbox Code Playgroud)