Получите минимальное и максимальное значение, используя linq

У меня есть список, который имеет значения, как показано ниже. Используя Linq, как я могу получить минимум от 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 56 и 222 1 34 помогите мне

Ответ 1

Если вам нужно значение Min и Max для каждого идентификатора в списке, вам необходимо сгруппировать по ID, а get 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);