Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
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.
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.
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í.
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