Množinové operace
Naleznete sadu operací v LINQ dotazu operací, které vyrobí sadu výsledků založenou na přítomnost nebo nepřítomnost rovnocenné prvky v rámci stejného nebo samostatné kolekce (nebo sad).
Metody operátor standardního dotazu, které provádějí operace sady jsou uvedeny v následující části.
Metody
Název metody |
Description |
Syntaxi výrazu dotazu C# |
Visual BasicSyntaxe dotazu výraz |
Další informace |
---|---|---|---|---|
Odlišné |
Odstraní duplicitní hodnoty z kolekce. |
Nelze použít |
Distinct |
|
S výjimkou |
Vrátí sadu rozdíl znamená prvky jedné kolekce, které nejsou uvedeny v druhá kolekce. |
Nelze použít |
Nelze použít |
|
Průnik |
Vrátí průnik set, což znamená prvky, které se zobrazí v každé dvě kolekce. |
Nelze použít |
Nelze použít |
|
Sjednocení |
Vrátí sadu unie znamená jedinečné prvky, které se zobrazují v buď dvě kolekce. |
Nelze použít |
Nelze použít |
Porovnání sadu operací.
Odlišné
Následující obrázek znázorňuje chování Enumerable.Distinct``1 metodu na posloupnost znaků.Vrácené posloupnost obsahuje jedinečné prvky z vstupní posloupnosti.
S výjimkou
Následující obrázek znázorňuje chování Enumerable.Except``1.Vrácené posloupnost obsahuje pouze prvky z první vstupní sekvence, které nejsou v druhém vstupní posloupnosti.
Průnik
Následující obrázek znázorňuje chování Enumerable.Intersect``1.Vrácené posloupnost obsahuje prvky, které jsou společné pro obě vstupní sekvence.
Sjednocení
Následující obrázek znázorňuje unie operace na dvě sekvence znaků.Vrácené posloupnost obsahuje jedinečné prvky z obou vstupní sekvence.
Příklad syntaxe výraz dotazu
V následujícím příkladu Distinct klauzule (k dispozici v Visual Basic pouze) v LINQ dotaz vrátit jedinečná čísla 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é
Úkoly
Postupy: Kombinace a porovnávání kolekcí řetězců (LINQ)
Postupy: Hledání množinových rozdílů mezi dvěma seznamy (LINQ)
Referenční dokumentace
Distinct – klauzule (Visual Basic)