본문 바로가기
Common /C#

Enumerable Class 1 : Enumerable Method - Aggregate

by 언덕너머에 2014. 5. 22.

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