더북(TheBook)

LINQ의 Aggregate 메서드를 사용하여 최댓값, 최솟값 구하기

LINQ에서 제공하는 Aggregate 확장 메서드는 매개변수로 Func<T> 형태의 대리자를 받는 대표적인 메서드입니다. 다음 코드처럼 Aggregate 확장 메서드에 람다 식을 전달하여 최댓값 또는 최솟값을 구할 수 있습니다.

> int[] numbers = { 1, 2, 3, 4, 5 };
>
> //① Aggregate 확장 메서드로 최댓값 구하기
> int max = numbers.Aggregate((f, s) => f > s ? f : s);
> Console.WriteLine(max);
5
>
> //② Aggregate 확장 메서드로 최솟값 구하기
> int min = numbers.Aggregate((c, n) => c < n ? c : n);
> Console.WriteLine(min);
1

Aggregate() 확장 메서드는 이외에도 다양하게 접근할 수 있으니, 관심 있는 독자는 마이크로소프트 Docs 온라인 설명서의 자료를 참고하세요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.