Opérations ensemblistes (Visual Basic)
Les opérations ensemblistes dans LINQ font référence à des opérations de requête qui génèrent un jeu de résultats basé sur la présence ou l’absence d’éléments équivalents dans la même collection (ou le même ensemble) ou dans une collection distincte (ou un ensemble distinct).
Les méthodes d’opérateur de requête standard qui effectuent des opérations ensemblistes sont répertoriées dans la section suivante.
Méthodes
Nom de la méthode | Description | Syntaxe de l'expression de requête en Visual Basic | Informations complémentaires |
---|---|---|---|
Distinct ou DistinctBy | Supprime les valeurs en double d’une collection. | Distinct |
Enumerable.Distinct Enumerable.DistinctBy Queryable.Distinct Queryable.DistinctBy |
Except ou ExceptBy | Retourne la différence ensembliste, à savoir les éléments d’une collection qui n’apparaissent pas dans une seconde collection. | Non applicable. | Enumerable.Except Enumerable.ExceptBy Queryable.Except Queryable.ExceptBy |
Intersect ou IntersectBy | Retourne l’intersection ensembliste, à savoir les éléments qui apparaissent dans chacune des deux collections. | Non applicable. | Enumerable.Intersect Enumerable.IntersectBy Queryable.Intersect Queryable.IntersectBy |
Union ou UnionBy | Retourne l’union ensembliste, à savoir les éléments uniques qui apparaissent dans l’une ou l’autre des deux collections. | Non applicable. | Enumerable.Union Enumerable.UnionBy Queryable.Union Queryable.UnionBy |
Comparaison d’opérations ensemblistes
Distinct
L’illustration suivante représente le comportement de la méthode Enumerable.Distinct sur une séquence de caractères. La séquence retournée contient les éléments uniques de la séquence d’entrée.
Except
L’illustration suivante représente le comportement de Enumerable.Except. La séquence retournée contient uniquement les éléments de la première séquence d’entrée qui ne figurent pas dans la seconde séquence d’entrée.
Intersect
L’illustration suivante représente le comportement de Enumerable.Intersect. La séquence retournée contient les éléments qui sont communs aux deux séquences d’entrée.
Union
L’illustration suivante représente une opération d’union sur deux séquences de caractères. La séquence retournée contient les éléments uniques des deux séquences d’entrée.
Exemple de syntaxe d’expression de requête
L’exemple suivant utilise la clause Distinct
dans une requête LINQ pour renvoyer les nombres uniques d’une liste d’entiers.
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