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

Enumerable.GroupBy<TSource, TKey, TElement> 메서드 (IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)

2013-12-13

키 선택기 함수에 따라 시퀀스의 요소를 그룹화합니다. 키는 비교자를 통해 비교되고 각 그룹의 요소는 지정된 함수를 통해 투영됩니다.

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

public static IEnumerable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(
	this IEnumerable<TSource> source,
	Func<TSource, TKey> keySelector,
	Func<TSource, TElement> elementSelector,
	IEqualityComparer<TKey> comparer
)

형식 매개 변수

TSource

source의 요소 형식입니다.

TKey

keySelector에서 반환되는 키의 형식입니다.

TElement

IGrouping<TKey, TElement>에 있는 요소의 형식입니다.

매개 변수

source
형식: System.Collections.Generic.IEnumerable<TSource>
요소를 그룹화할 IEnumerable<T>입니다.
keySelector
형식: System.Func<TSource, TKey>
각 요소에 대한 키를 추출하는 함수입니다.
elementSelector
형식: System.Func<TSource, TElement>
각 소스 요소를 IGrouping<TKey, TElement>의 요소에 매핑하는 함수입니다.
comparer
형식: System.Collections.Generic.IEqualityComparer<TKey>
키를 비교할 IEqualityComparer<T>입니다.

반환 값

형식: System.Collections.Generic.IEnumerable<IGrouping<TKey, TElement>>
IGrouping<TKey, TElement> 개체에 TElement 형식의 개체 및 키의 컬렉션이 들어 있는 IEnumerable<IGrouping<TKey, TElement>>(C#의 경우) 또는 IEnumerable(Of IGrouping(Of TKey, TElement))(Visual Basic의 경우)입니다.

사용 정보

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

예외조건
ArgumentNullException

source 또는 keySelector 또는 elementSelectornull입니다.

이 메서드는 지연된 실행을 사용하여 구현됩니다. 해당 작업을 수행하는 데 필요한 모든 정보가 저장된 개체가 즉시 반환됩니다. 이 메서드에서 나타내는 쿼리는 해당 GetEnumerator 메서드를 직접 호출하거나, foreach(Visual C#에서) 또는 For Each(Visual Basic에서)를 사용하여 개체를 열거할 때까지 실행되지 않습니다.

GroupBy<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>) 메서드는 고유 키가 나타날 때마다 IGrouping<TKey, TElement> 개체 컬렉션을 하나씩 반환합니다. IGrouping<TKey, TElement>는 해당 요소에 키가 함께 연결된 IEnumerable<T>입니다.

IGrouping<TKey, TElement> 개체가 생성되는 순서는 각 IGrouping<TKey, TElement>의 첫 번째 키를 만든 source의 요소 순서를 따릅니다. 그룹의 요소는 해당 요소를 만든 요소가 source에 나타나는 순서대로 생성됩니다.

comparernull이면 기본 같음 비교자인 Default를 사용하여 키를 비교합니다.

comparer에 따라 두 키가 같은 것으로 간주되면 첫 번째 키가 해당 그룹의 키로 선택됩니다.

쿼리 식 구문에서, group by (Visual C#) 또는 Group By Into (Visual Basic)절은 Enumerable.GroupBy 호출로 변환됩니다.

Windows Phone OS

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

Windows Phone

표시: