다음을 통해 공유


작업 설정(Visual Basic)

LINQ의 집합 작업은 동일 컬렉션이나 별개 컬렉션(또는 집합)에 동등한 요소가 있는지 여부에 따라 결과 집합을 생성하는 쿼리 작업을 가리킵니다.

다음 섹션에는 집합 작업을 수행하는 표준 쿼리 연산자 메서드가 나와 있습니다.

메서드

메서드 이름 설명 Visual Basic 쿼리 식 구문 추가 정보
Distinct 또는 DistinctBy 컬렉션에서 중복 값을 제거합니다. Distinct Enumerable.Distinct
Enumerable.DistinctBy
Queryable.Distinct
Queryable.DistinctBy
Except 또는 ExceptBy 두 번째 컬렉션에 표시되지 않는 한 컬렉션의 요소를 의미하는 차집합을 반환합니다. 해당 없음. Enumerable.Except
Enumerable.ExceptBy
Queryable.Except
Queryable.ExceptBy
Intersect 또는 IntersectBy 두 컬렉션에 각각 표시되는 요소를 의미하는 교집합을 반환합니다. 해당 없음. Enumerable.Intersect
Enumerable.IntersectBy
Queryable.Intersect
Queryable.IntersectBy
Union 또는 UnionBy 두 컬렉션 중 하나에 표시되는 고유한 요소를 의미하는 합집합을 반환합니다. 해당 없음. Enumerable.Union
Enumerable.UnionBy
Queryable.Union
Queryable.UnionBy

집합 작업 비교

Distinct

다음 그림에서는 문자 시퀀스에 대한 Enumerable.Distinct 메서드의 동작을 보여 줍니다. 반환된 시퀀스에는 입력 시퀀스의 고유한 요소가 포함됩니다.

Graphic showing the behavior of Distinct().

제외 하

다음 그림에서는 Enumerable.Except의 동작을 보여 줍니다. 반환된 시퀀스에는 두 번째 입력 시퀀스에 없는 첫 번째 입력 시퀀스의 요소만 포함됩니다.

Graphic showing the action of Except().

Intersect

다음 그림에서는 Enumerable.Intersect의 동작을 보여 줍니다. 반환된 시퀀스에는 입력 시퀀스 둘 다에 공통적으로 있는 요소가 포함됩니다.

Graphic showing the intersection of two sequences.

Union

다음 그림은 두 개의 문자 시퀀스에 대한 합집합을 보여 줍니다. 반환된 시퀀스에는 두 입력 시퀀스의 고유한 요소가 모두 포함됩니다.

Graphic showing the union of two sequences.

쿼리 식 구문 예제

다음 예제에서는 LINQ 쿼리의 Distinct 절을 사용하여 정수 목록에서 고유 번호를 반환합니다.


Dim classGrades = New System.Collections.Generic.List(Of Integer) From {63, 68, 71, 75, 68, 92, 75}

Dim distinctQuery = From grade In classGrades
                    Select grade Distinct

Dim sb As New System.Text.StringBuilder("The distinct grades are: ")
For Each number As Integer In distinctQuery
    sb.Append(number & " ")
Next

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

' This code produces the following output:

' The distinct grades are: 63 68 71 75 92 

참고 항목