13

以下に表示される値を持つリストがあります
Linq を使用して、選択した ID の COL1 から最小値を取得し、COL2 から最大値を取得する方法を教えてください。

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 助けてくれるはずです

4

2 に答える 2

42

リスト内の各 ID の最小値と最大値が必要な場合は、次のようにグループ化し、IDそれに応じて最大値と最小値を取得する必要があります。

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);
于 2013-05-22T06:20:25.170 に答える