Opérations ensemblistes
Les opérations ensemblistes dans LINQ font référence aux opérations de requête qui génèrent un ensemble de résultats basé sur la présence ou l'absence d'éléments équivalents dans des collections (ou ensembles) identiques ou distinctes.
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 d'expression de requête C# |
Syntaxe d'expression de requête Visual Basic |
Informations supplémentaires |
---|---|---|---|---|
Distinct |
Supprime des valeurs en double d'une collection. |
Non applicable. |
Distinct |
|
Except |
Retourne la différence ensembliste, c'est-à-dire les éléments d'une collection qui n'apparaissent pas dans une deuxième collection. |
Non applicable. |
Non applicable. |
|
Intersect |
Retourne l'intersection ensembliste, c'est-à-dire les éléments qui apparaissent dans chacune des deux collections. |
Non applicable. |
Non applicable. |
|
Union |
Retourne l'union ensembliste, c'est-à-dire les éléments uniques qui apparaissent dans l'une ou l'autre des deux collections. |
Non applicable. |
Non applicable. |
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 sont pas présents dans la deuxième 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 (disponible dans Visual Basic uniquement) dans une requête LINQ pour retourner 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
Voir aussi
Tâches
Comment : combiner et comparer des collections de chaînes (LINQ)
Comment : rechercher la différence définie entre deux listes (LINQ)
Référence
Distinct, clause (Visual Basic)