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
Jedinečný nebo PodleJedinečnosti Odebere duplicitní hodnoty z kolekce. Distinct Enumerable.Distinct
Enumerable.DistinctBy
Queryable.Distinct
Queryable.DistinctBy
Kromě nebo Kromě podle Vrátí množinový rozdíl, což znamená prvky jedné kolekce, které nejsou v druhé kolekci. Nelze použít. 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í. Nelze použít. 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í. Nelze použít. Enumerable.Union
Enumerable.UnionBy
Queryable.Union
Queryable.UnionBy

Porovnání operací sady

Zřetelný

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.

Obrázek znázorňující chování 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.

Graf znázorňující činnost Except().

Přetínat

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.

Obrázek zobrazující průnik dvou sekvencí.

Svaz

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í.

Obrázek znázorňující sjednocení dvou sekvencí

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é