다음을 통해 공유


데이터 그룹화

그룹화는 각 그룹의 요소가 공통 특성을 공유하도록 데이터를 그룹으로 나누는 작업입니다.

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

LINQ 그룹화 작업

데이터 요소를 그룹화하는 표준 쿼리 연산자 메서드는 다음 단원에 나열되어 있습니다.

메서드

메서드 이름

설명

C# 쿼리 식 구문

Visual Basic 쿼리 식 구문

추가 정보

GroupBy

공통 특성을 공유하는 요소를 그룹화합니다.각 그룹은 IGrouping<TKey, TElement> 개체로 표시됩니다.

group … by

또는

group … by … into …

Group … By … Into …

Enumerable.GroupBy

Queryable.GroupBy

ToLookup

키 선택기 함수에 따라 요소를 Lookup<TKey, TElement>(일대다 사전)에 삽입합니다.

해당 사항 없음.

해당 사항 없음.

Enumerable.ToLookup

쿼리 식 구문 예제

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


        Dim numbers As New System.Collections.Generic.List(Of Integer)(
             New Integer() {35, 44, 200, 84, 3987, 4, 199, 329, 446, 208})

        Dim query = From number In numbers 
                    Group By Remainder = (number Mod 2) Into Group

        Dim sb As New System.Text.StringBuilder()
        For Each group In query
            sb.AppendLine(If(group.Remainder = 0, vbCrLf & "Even numbers:", vbCrLf & "Odd numbers:"))
            For Each num In group.Group
                sb.AppendLine(num)
            Next
        Next

        ' Display the results.
        MsgBox(sb.ToString())

        ' This code produces the following output:

        ' Odd numbers:
        ' 35
        ' 3987
        ' 199
        ' 329

        ' Even numbers:
        ' 44
        ' 200
        ' 84
        ' 4
        ' 446
        ' 208


            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
            */

참고 항목

작업

방법: 중첩 그룹 만들기(C# 프로그래밍 가이드)

방법: 확장명에 따라 파일 그룹화(LINQ)

방법: 쿼리 결과 그룹화(C# 프로그래밍 가이드)

방법: 그룹화 작업에서 하위 쿼리 수행(C# 프로그래밍 가이드)

방법: 그룹을 사용하여 파일을 여러 파일로 분할(LINQ)

참조

group 절(C# 참조)

Group By 절(Visual Basic)

System.Linq

개념

표준 쿼리 연산자 개요