Ange åtgärder (Visual Basic)
Ange åtgärder i LINQ refererar till frågeåtgärder som skapar en resultatuppsättning som baseras på förekomsten eller frånvaron av motsvarande element i samma eller separata samlingar (eller uppsättningar).
Standardmetoderna för frågeoperatorer som utför uppsättningsåtgärder visas i följande avsnitt.
Metoder
Metodnamn | beskrivning | Syntax för Visual Basic-frågeuttryck | Mer information |
---|---|---|---|
Distinct eller DistinctBy | Tar bort dubblettvärden från en samling. | Distinct |
Enumerable.Distinct Enumerable.DistinctBy Queryable.Distinct Queryable.DistinctBy |
Förutom eller ExceptBy | Returnerar den angivna skillnaden, vilket innebär elementen i en samling som inte visas i en andra samling. | Ej tillämpbart. | Enumerable.Except Enumerable.ExceptBy Queryable.Except Queryable.ExceptBy |
Intersect eller IntersectBy | Returnerar den angivna skärningspunkten, vilket innebär element som visas i var och en av två samlingar. | Ej tillämpbart. | Enumerable.Intersect Enumerable.IntersectBy Queryable.Intersect Queryable.IntersectBy |
Union eller UnionBy | Returnerar den angivna unionen, vilket innebär unika element som visas i någon av två samlingar. | Ej tillämpbart. | Enumerable.Union Enumerable.UnionBy Queryable.Union Queryable.UnionBy |
Jämförelse av uppsättningsåtgärder
Distinct
Följande bild visar metodens Enumerable.Distinct beteende på en sekvens med tecken. Den returnerade sekvensen innehåller de unika elementen från indatasekvensen.
Förutom
Följande bild visar beteendet Enumerable.Exceptför . Den returnerade sekvensen innehåller endast elementen från den första indatasekvensen som inte finns i den andra indatasekvensen.
Skär
Följande bild visar beteendet Enumerable.Intersectför . Den returnerade sekvensen innehåller de element som är gemensamma för båda indatasekvenserna.
Union
Följande bild visar en union-åtgärd på två teckensekvenser. Den returnerade sekvensen innehåller de unika elementen från båda indatasekvenserna.
Exempel på frågeuttryckssyntax
I följande exempel används Distinct
-satsen i en LINQ-fråga för att returnera de unika talen från en lista med heltal.
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