Megosztás a következőn keresztül:


Műveletek beállítása (Visual Basic)

A LINQ beállítási műveletei olyan lekérdezési műveletekre vonatkoznak, amelyek olyan eredményhalmazt hoznak létre, amely az azonos vagy különálló gyűjteményekben (vagy készletekben) lévő egyenértékű elemek meglétén vagy hiányán alapul.

A halmazműveleteket végrehajtó szabványos lekérdezési operátor-metódusok a következő szakaszban találhatók.

Módszerek

Metódus neve Leírás Visual Basic Query Expression Szintaxis További információ
Distinct vagy DistinctBy Eltávolítja az ismétlődő értékeket egy gyűjteményből. Distinct Enumerable.Distinct
Enumerable.DistinctBy
Queryable.Distinct
Queryable.DistinctBy
Except vagy ExceptBy A készletkülönbséget adja vissza, ami azt jelenti, hogy egy gyűjtemény olyan elemei, amelyek nem jelennek meg egy második gyűjteményben. Nem alkalmazható. Enumerable.Except
Enumerable.ExceptBy
Queryable.Except
Queryable.ExceptBy
Metszet vagy intersectBy A megadott metszetet adja vissza, ami azt jelenti, hogy a két gyűjtemény mindegyikében megjelennek elemek. Nem alkalmazható. Enumerable.Intersect
Enumerable.IntersectBy
Queryable.Intersect
Queryable.IntersectBy
Union vagy UnionBy A halmaz egyesítő értékét adja vissza, ami azt jelenti, hogy a két gyűjtemény bármelyikében megjelenő egyedi elemek jelennek meg. Nem alkalmazható. Enumerable.Union
Enumerable.UnionBy
Queryable.Union
Queryable.UnionBy

Halmazműveletek összehasonlítása

Különböző

Enumerable.Distinct metódus viselkedését az alábbi ábra mutatja be egy karaktersorozaton. A visszaadott sorozat a bemeneti sorozat egyedi elemeit tartalmazza.

A Distinct() viselkedését bemutató ábra.

Kivételével

Az alábbi ábra a Enumerable.Except viselkedését mutatja be. A visszaadott sorozat csak az első bemeneti sorozat azon elemeit tartalmazza, amelyek nem szerepelnek a második bemeneti sorozatban.

A Except() műveletét ábrázoló ábra.

Metsz

Az alábbi ábra a Enumerable.Intersect viselkedését mutatja be. A visszaadott sorozat tartalmazza azokat az elemeket, amelyek mindkét bemeneti sorozatban közösek.

Két sorozat metszetét ábrázoló ábra.

Unió

Az alábbi ábra egy egyesítési műveletet ábrázol két karaktersorozaton. A visszaadott sorozat mindkét bemeneti sorozat egyedi elemeit tartalmazza.

Két sorozat egyesítő ábrája.

Példa lekérdezési kifejezés szintaxisára

Az alábbi példa egy Distinct LINQ-lekérdezés záradékával adja vissza az egyedi számokat az egész számok listájából.


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 

Lásd még