정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Enumerable.Aggregate<TSource> 메서드 (IEnumerable<TSource>, Func<TSource, TSource, TSource>)

2013-12-13

시퀀스에 누산기 함수를 적용합니다.

Namespace:  System.Linq
어셈블리:  System.Core(System.Core.dll)

public static TSource Aggregate<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, TSource, TSource> func
)

형식 매개 변수

TSource

source의 요소 형식입니다.

매개 변수

source
형식: System.Collections.Generic.IEnumerable<TSource>
집계할 IEnumerable<T>입니다.
func
형식: System.Func<TSource, TSource, TSource>
각 요소에서 호출될 누산기 함수입니다.

반환 값

형식: TSource
최종 누산기 값입니다.

사용 정보

Visual Basic 및 C#에서는 이 메서드를 IEnumerable<TSource> 형식의 모든 개체에서 인스턴스 메서드로 호출할 수 있습니다. 인스턴스 메서드 구문을 사용하여 이 메서드를 호출할 경우에는 첫 번째 매개 변수를 생략합니다.

예외조건
ArgumentNullException

source 또는 funcnull입니다.

InvalidOperationException

source에 요소가 포함되어 있지 않는 경우

Aggregate<TSource>(IEnumerable<TSource>, Func<TSource, TSource, TSource>) 메서드를 통해 값 시퀀스에 대한 계산을 손쉽게 수행할 수 있습니다. 이 메서드는 source의 각 요소에 대해 func를 한 번씩 호출하여 작동합니다. Aggregate<TSource>(IEnumerable<TSource>, Func<TSource, TSource, TSource>)func를 호출할 때마다 func의 첫 번째 인수로 시퀀스의 요소와 집계된 값을 모두 전달합니다. source의 첫 번째 요소는 초기 집계 값으로 사용됩니다. func의 결과는 이전 집계 값을 대체합니다. Aggregate<TSource>(IEnumerable<TSource>, Func<TSource, TSource, TSource>)func의 최종 결과를 반환합니다.

일반적인 집계 작업을 단순화하기 위해 표준 쿼리 연산자에는 Count이라는 범용 계산 메서드와 Min, Max, SumAverage이라는 네 가지 숫자 집계 메서드도 포함되어 있습니다.

다음 코드 예제에서는 Aggregate를 사용하여 문자열 배열에서 문장을 만드는 방법을 보여 줍니다.


      string sentence = "the quick brown fox jumps over the lazy dog";

      // Split the string into individual words.
      string[] words = sentence.Split(' ');

      // Prepend each word to the beginning of the 
      // new sentence to reverse the word order.
      string reversed = words.Aggregate((workingSentence, next) =>
                                            next + " " + workingSentence);

      outputBlock.Text += reversed + "\n";

      // This code produces the following output:
      //
      // dog lazy the over jumps fox brown quick the 



Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시: