Partitionnement des données (Visual Basic)

Le partitionnement dans LINQ désigne l’opération consistant à diviser une séquence d’entrée en deux sections, sans réorganiser les éléments, puis à retourner l’une des sections.

L’illustration suivante montre les résultats de trois opérations de partitionnement différentes sur une séquence de caractères. La première opération retourne les trois premiers éléments de la séquence. La deuxième opération ignore les trois premiers éléments et retourne les éléments restants. La troisième opération ignore les deux premiers éléments de la séquence et retourne les trois éléments suivants.

Illustration that shows three LINQ partitioning operations.

Les méthodes d’opérateurs de requête standard qui partitionnent des séquences sont répertoriées dans la section suivante.

Opérateurs

Nom de l’opérateur Description Syntaxe de l'expression de requête en Visual Basic Informations complémentaires
Ignorer Ignore les éléments jusqu’à une position spécifiée dans une séquence. Skip Enumerable.Skip

Queryable.Skip
SkipWhile Ignore les éléments basés sur une fonction de prédicat jusqu’à un élément qui ne remplit pas la condition. Skip While Enumerable.SkipWhile

Queryable.SkipWhile
Take Prend les éléments jusqu’à une position spécifiée dans une séquence. Take Enumerable.Take

Queryable.Take
TakeWhile Prend les éléments basés sur une fonction de prédicat jusqu’à un élément qui ne remplit pas la condition. Take While Enumerable.TakeWhile

Queryable.TakeWhile
Bloc Fractionne les éléments d’une séquence en blocs d’une taille maximale spécifiée. Enumerable.Chunk
Queryable.Chunk

Exemples de syntaxe d'expression de requête

Ignorer

L’exemple de code suivant utilise la clause Skip dans Visual Basic pour ignorer les quatre premières chaînes d’un tableau de chaînes avant de renvoyer les chaînes restantes dans le tableau.


Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

Dim query = From word In words
            Skip 4

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' keeps
' the
' doctor
' away

SkipWhile

L’exemple du code suivant utilise la clause Skip While dans Visual Basic pour ignorer les chaînes d’un tableau tandis que la première lettre de la chaîne est « a ». Les chaînes restantes du tableau sont renvoyées.


Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

Dim query = From word In words
            Skip While word.Substring(0, 1) = "a"

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' day
' keeps
' the
' doctor
' away

Take

L’exemple du code suivant utilise la clause Take dans Visual Basic pour renvoyer les deux premières chaînes d’un tableau de chaînes.


Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

Dim query = From word In words
            Take 2

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' an
' apple

TakeWhile

L’exemple du code suivant utilise la clause Take While dans Visual Basic pour renvoyer des chaînes à partir d’un tableau tandis que la longueur de la chaîne est de cinq ou moins.


Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

Dim query = From word In words
            Take While word.Length < 6

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' an
' apple
' a
' day
' keeps
' the

Voir aussi