Udostępnij za pośrednictwem


Operacje na zestawie

Zestaw operacji w LINQ odnoszą się do operacji kwerend, które produkują zestawu wyników, oparty na obecność lub Brak elementów równoważnych w tym samym lub osobnym kolekcje (lub zestawy).

Kwerendy standardowe metody operatora, wykonujących operacje na zestawie są wymienione w poniższej sekcji.

Metody

Nazwa metody

Opis

Kwerendy języka C# składni wyrażenia

Visual BasicSkładni wyrażenia kwerendy

Więcej informacji

Różne

Usuwa zduplikowane wartości z kolekcji.

Nie dotyczy.

Distinct

Enumerable.Distinct``1

Queryable.Distinct``1

Z wyjątkiem

Zwraca różnicę zestawu, który oznacza elementy jednej kolekcji, które nie pojawiają się w drugiej kolekcji.

Nie dotyczy.

Nie dotyczy.

Enumerable.Except``1

Queryable.Except``1

Przecinają się

Zwraca punkt przecięcia zestawu, który oznacza elementy, które pojawiają się w każdym z dwóch zbiorów.

Nie dotyczy.

Nie dotyczy.

Enumerable.Intersect``1

Queryable.Intersect``1

Unia

Zwraca zestaw, co oznacza, unikatowe elementy, które pojawiają się w jednej z dwóch zbiorów.

Nie dotyczy.

Nie dotyczy.

Enumerable.Union``1

Queryable.Union``1

Porównanie zestaw operacji

Różne

Następująca ilustracja przedstawia zachowanie Enumerable.Distinct``1 metoda sekwencji znaków.Zwrócone sekwencja zawiera unikatowe elementy z sekwencji wejściowych.

Grafika pokazująca zachowanie Distinct().

Z wyjątkiem

Następująca ilustracja przedstawia zachowanie Enumerable.Except``1.Zwrócone sekwencja zawiera tylko elementy z pierwszej sekwencji wejściowych, które nie znajdują się w drugim sekwencji wejściowych.

Grafika pokazująca działanie metody Except().

Przecinają się

Następująca ilustracja przedstawia zachowanie Enumerable.Intersect``1.Zwrócone sekwencja zawiera elementy, które są wspólne dla obu sekwencji wejściowych.

Grafika pokazująca miejsca przecięcia się dróg dwóch sekwencji.

Unia

Następująca ilustracja przedstawia unijnej operacji na dwóch sekwencji znaków.Zwrócone sekwencja zawiera unikatowe elementy z obu sekwencji wejściowych.

Grafika pokazująca związek dwóch sekwencji.

Przykład składni wyrażenia kwerendy

W poniższym przykładzie użyto Distinct klauzuli (dostępne w Visual Basic tylko) w kwerendzie LINQ zwrócić unikatowe numery na liście liczb całkowitych.

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 

Zobacz też

Zadania

Porady: łączenie i porównywanie kolekcji ciągów (LINQ)

Porady: znajdowanie różnicy pomiędzy dwoma listami (LINQ)

Informacje

Distinct — Klauzula (Visual Basic)

System.Linq

Koncepcje

Standardowe operatory zapytań — Omówienie