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