簡體   English   中英

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

[英]Get minimum and maximum value using 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 的 Min 和 Max 值,那么您必須按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);

您可以排序,例如:

var min = yourList.OrderBy(p => p.Col1).First();
var max = yourList.OrderByDescending(p => p.Col1).First();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM