Sdílet prostřednictvím


Nastavení operací (Visual Basic)

Operace set v LINQ odkazují na operace dotazu, které vytvářejí sadu výsledků založenou na přítomnosti nebo nepřítomnosti ekvivalentních prvků ve stejné nebo samostatné kolekci (nebo sadách).

Standardní metody operátoru dotazu, které provádějí operace set, jsou uvedeny v následující části.

Metody

Název metody Popis Syntaxe výrazů dotazu jazyka Visual Basic Další informace
Distinct or DistinctBy Odebere duplicitní hodnoty z kolekce. Distinct Enumerable.Distinct
Enumerable.DistinctBy
Queryable.Distinct
Queryable.DistinctBy
Kromě nebo Kromě Vrátí set rozdíl, což znamená prvky jedné kolekce, které se nezobrazují v druhé kolekci. Nevztahuje se. Enumerable.Except
Enumerable.ExceptBy
Queryable.Except
Queryable.ExceptBy
Intersect nebo IntersectBy Vrátí průnik množiny, což znamená prvky, které se zobrazují v každé ze dvou kolekcí. Nevztahuje se. Enumerable.Intersect
Enumerable.IntersectBy
Queryable.Intersect
Queryable.IntersectBy
Union nebo UnionBy Vrátí sjednocení množiny, což znamená jedinečné prvky, které se zobrazují v některé ze dvou kolekcí. Nevztahuje se. Enumerable.Union
Enumerable.UnionBy
Queryable.Union
Queryable.UnionBy

Porovnání operací sady

Distinct

Následující obrázek znázorňuje chování Enumerable.Distinct metody v posloupnosti znaků. Vrácená sekvence obsahuje jedinečné prvky ze vstupní sekvence.

Graphic showing the behavior of Distinct().

Kromě

Následující obrázek znázorňuje chování Enumerable.Except. Vrácená sekvence obsahuje pouze prvky z první vstupní sekvence, které nejsou ve druhé vstupní sekvenci.

Graphic showing the action of Except().

Protínají

Následující obrázek znázorňuje chování Enumerable.Intersect. Vrácená sekvence obsahuje prvky, které jsou společné pro obě vstupní sekvence.

Graphic showing the intersection of two sequences.

Sjednocení

Následující obrázek znázorňuje operaci sjednocení na dvou sekvencích znaků. Vrácená sekvence obsahuje jedinečné prvky z obou vstupních sekvencí.

Graphic showing the union of two sequences.

Příklad syntaxe výrazu dotazu

Následující příklad používá klauzuli Distinct v dotazu LINQ k vrácení jedinečných čísel ze seznamu celých čísel.


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 

Viz také