C#에서 Aggregate 메서드는 합계(Sum), 최솟값(Min), 최댓값(Max), 평균(Average) 등 다양한 수학적 연산을 수행할 때 유용하게 사용됩니다. LINQ에서 제공하는 이 메서드는 컬렉션의 요소들을 하나씩 누적하면서 원하는 결과값을 만들어냅니다.
Aggregate 메서드란?
Aggregate 메서드는 시퀀스(배열이나 리스트)의 각 요소에 누적 함수를 적용하여 단일 결과값을 반환합니다. 예를 들어, 배열의 모든 요소를 곱하거나 더하는 작업을 간결한 코드 한 줄로 처리할 수 있습니다.
배열 요소 곱셈 예제
다음은 Aggregate 메서드를 사용해 배열의 모든 요소를 곱하는 예제입니다.
먼저 곱셈을 적용할 배열을 선언합니다.
int[] arr = { 10, 15, 20 };이어서 Aggregate() 메서드에 람다식을 전달하여 각 요소를 순차적으로 곱합니다.
arr.Aggregate((x, y) => x * y);
위 코드에서 x는 누적된 값, y는 현재 처리 중인 요소를 의미합니다. 즉, 10 × 15 = 150, 그리고 150 × 20 = 3000으로 계산됩니다.
전체 코드
아래는 위 내용을 정리한 완전한 실행 코드입니다.
using System;
using System.Linq;
using System.IO;
public class Demo {
public static void Main() {
int[] arr = { 10, 15, 20 };
// 곱셈 연산
int res = arr.Aggregate((x, y) => x * y);
Console.WriteLine(res);
}
}실행 결과
3000
정리
Aggregate 메서드는 람다식만 변경하면 덧셈, 뺄셈, 나눗셈 등 어떤 연산이든 손쉽게 적용할 수 있습니다. 반복문 없이도 누적 계산을 깔끔하게 처리할 수 있어 코드의 가독성과 생산성을 높이고 싶을 때 특히 유용합니다.