Enumerable.Aggregate
- 우선, Aggregate는 합계, 총액 이란 뜻으로 직역합니다.
- Aggregate는 시퀀스에 걸쳐 누적기 함수를 적용합니다.
- seed(매개변수1)은 초기 누적기 값으로 사용됩니다.
Enumerable.Aggregate(seed, func, resultSelector);
- 매개변수1 : 누적 시 초기 값으로 사용됩니다.
- 매개변수2 : 매개변수1를 포함하여 함수 실행 후 반환합니다.
- 매개변수3 : 매개변수2의 반환 값에 대해 함수 실행 후 반환합니다.
사용 예제1
string[] arr_str = new string[] { "a","b","c"};
int[] arr_int = new int[] { 2, 3, 4 };
var res_int = arr_str.Aggregate("b",(a, b) => a + "," + b);
var res_str = arr_int.Aggregate((a, b) => a + b);
var res_str2 = arr_int.Aggregate(10,(a, b) => a * b);
Console.WriteLine($"res_int : {res_int}"); // a,b,c
Console.WriteLine($"res_str : {res_str}"); // 2+3+4 = 9
Console.WriteLine($"res_str2 : {res_str2}"); // 10 *(2*3*4) = 240
정리
- Enumerable.Aggregat 메서드는 작은 단위가 누적되어 합쳐져 하나를 이룬다는 느낌으로 사용됩니다.
- 따라서 Enumerable.Sum 메서드와는 다르게 사용됩니다.