Enumerable.Aggregate<TSource> 메서드
네임스페이스: System.Linq
어셈블리: System.Core(System.Core.dll)
1.
public static TSource Aggregate<TSource>(
this IEnumerable<TSource> source,
Func<TSource, TSource, TSource> func
)
예제)
string sentence = "천리길도 한 걸음 부터";
// 빈공백으로 각 단어를 words 배열에 담는다.
string[] words = sentence.Split(' ');
// 단어순서를 바꾸기 위해 새로운 문장의 시작부분에 각 단어를 추가
string reversed = words.Aggregate((workingSentence, next) =>
next + " " + workingSentence);
Console.WriteLine(reversed);
// 위 코드의 출력은 아래와 같다.
//
// 부터 걸음 한 천리길도
2.
public static TAccumulate Aggregate<TSource, TAccumulate>(
this IEnumerable<TSource> source,
TAccumulate seed,
Func<TAccumulate, TSource, TAccumulate> func
)
예제)
int[] ints = { 4, 8, 8, 3, 9, 0, 7, 8, 2 };
// 0을 초기값으로 배열 ints에서 짝수인 요소의 갯수를 반환
int numEven = ints.Aggregate(0, (total, next) => next % 2 == 0 ? total + 1 : total);
Console.WriteLine("짝수인 정수는 : {0}개", numEven);
// 위 코드의 출력은 아래와 같다.
//
// 짝수인 정수는 : 6개
참고 : MSDN
'Common > C#' 카테고리의 다른 글
String.Split에서 \r\n 처리 방법 (0) | 2014.05.30 |
---|---|
Enumerable Class 0 (0) | 2014.05.22 |
C#을 이용한 NTP Service (0) | 2014.05.17 |
참조예제와 ICloneable (0) | 2014.05.08 |