본문 바로가기

Develop/.NET 가이드

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

반응형

LINQ
LINQ

집계 작업 Aggregators

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

Min

집합 내 최솟값 찾기

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

            int minNum = numbers.Min();

            // minNum = 0;

집합 내 원소를 변형하여 최솟값 찾기

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

            int shortestWord = words.Min(w => w.Length);

            // shortestWord = 5

그룹 별로 최솟값 찾기

            List<Product> products = GetProductList();

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

            var categories = from p in products
                             group p by p.Category into g
                             let minPrice = g.Min(p => p.UnitPrice)
                             select (Category: g.Key, CheapestProducts: g.Where(p => p.UnitPrice == minPrice));

예제에서 let 절이 사용되었습니다. let 절은 특정한 값을 저장해서 LINQ 구문 내에서 활용할 때 유용합니다.

반응형