데이터 그룹화(C#)

그룹화는 데이터를 그룹에 넣어 각 그룹의 요소가 공통 특성을 공유하게 하는 작업을 가리킵니다.

다음 그림은 문자 시퀀스를 그룹화한 결과를 보여 줍니다. 각 그룹에 대한 키는 문자입니다.

Diagram that shows a LINQ Grouping operation.

데이터 요소를 그룹화하는 표준 쿼리 연산자 메서드가 다음 섹션에 나와 있습니다.

메서드

메서드 이름 설명 C# 쿼리 식 구문 추가 정보
GroupBy 공통 특성을 공유하는 요소를 그룹화합니다. 각 그룹은 IGrouping<TKey,TElement> 개체로 표시됩니다. group … by

또는

group … by … into …
Enumerable.GroupBy

Queryable.GroupBy
ToLookup 키 선택기 함수에 따라 Lookup<TKey,TElement>(일대다 사전)에 요소를 삽입합니다. 해당 사항 없음. Enumerable.ToLookup

쿼리 식 구문 예제

다음 코드 예제에서는 group by 절을 사용하여 짝수 또는 홀수인지에 따라 목록에서 정수를 그룹화합니다.

List<int> numbers = new List<int>() { 35, 44, 200, 84, 3987, 4, 199, 329, 446, 208 };  
  
IEnumerable<IGrouping<int, int>> query = from number in numbers  
                                         group number by number % 2;  
  
foreach (var group in query)  
{  
    Console.WriteLine(group.Key == 0 ? "\nEven numbers:" : "\nOdd numbers:");  
    foreach (int i in group)  
        Console.WriteLine(i);  
}  
  
/* This code produces the following output:  
  
    Odd numbers:  
    35  
    3987  
    199  
    329  
  
    Even numbers:  
    44  
    200  
    84  
    4  
    446  
    208  
*/  

참조