본문 바로가기

Develop/.NET 가이드

[C#] LINQ 사용방법 - 집계 작업 Max

반응형

LINQ
LINQ

집계 작업 Aggregators

집계 작업은 집합 모든 요소를 계산하여 하나의 값으로 반환하는 작업입니다. 집계 작업에 해당하는 LINQ 메서드로는 Count, Sum, Min, Max, Average, Aggregate 가 있습니다.

Max

집합 내에 최댓값 찾기

            int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

            int maxNum = numbers.Max();

            // maxNum = 9

집합 내 원소를 사용하여 최댓값 찾기

            string[] words = { "cherry", "apple", "blueberry" };

            int longestLength = words.Max(w => w.Length);

            // longestLength = 9

그룹 내에서 최댓값 찾기

            List<Product> products = GetProductList();

            var categories = from p in products
                             group p by p.Category into g
                             select (Category: g.Key, MostExpensivePrice: g.Max(p => p.UnitPrice));
            List<Product> products = GetProductList();

            var categories = from p in products
                             group p by p.Category into g
                             let maxPrice = g.Max(p => p.UnitPrice)
                             select (Category: g.Key, MostExpensiveProducts: g.Where(p => p.UnitPrice == maxPrice));
반응형