Partager via


Définir des opérations (Visual Basic)

Les opérations de définition dans LINQ font référence aux opérations de requête qui produisent un jeu de résultats basé sur la présence ou l’absence d’éléments équivalents dans les mêmes collections ou collections distinctes (ou ensembles).

Les méthodes d’opérateur de requête standard qui effectuent des opérations sur des ensembles sont répertoriées dans la section suivante.

Méthodes

Nom de la méthode Descriptif Syntaxe de l’expression de requête Visual Basic Plus d’informations
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 d'ensemble, c'est-à-dire les éléments d'une collection qui n'apparaissent pas dans une autre 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

Distinctif

L’illustration suivante illustre le comportement de la Enumerable.Distinct méthode sur une séquence de caractères. La séquence retournée contient les éléments uniques de la séquence d’entrée.

Graphique montrant le comportement de Distinct().

Sauf

L’illustration suivante illustre 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 deuxième séquence d’entrée.

Graphique montrant l’action Except().

Entrecroiser

L’illustration suivante illustre le comportement de Enumerable.Intersect. La séquence retournée contient les éléments communs aux deux séquences d’entrée.

Graphique montrant l’intersection de deux séquences.

Union

L’illustration suivante illustre 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.

Graphique montrant l’union de deux séquences.

Exemple de syntaxe d’expression de requête

L’exemple suivant utilise la Distinct clause 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