Partager via


Partitionnement de données (Visual Basic)

Le partitionnement dans LINQ fait référence au fonctionnement de la division d’une séquence d’entrée en deux sections, sans réorganiser les éléments, puis en retournant 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 montrant trois opérations de partitionnement LINQ.

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

Opérateurs

Nom de l’opérateur Descriptif Syntaxe de l’expression de requête Visual Basic Plus d’informations
Sautiller 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’à ce qu’un élément ne réponde pas à la condition. Skip While Enumerable.SkipWhile

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

Queryable.Take
TakeWhile Prend des éléments basés sur une fonction de prédicat jusqu’à ce qu’un élément ne réponde 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

Sautiller

L’exemple de code suivant utilise la Skip clause de 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 de code suivant utilise la Skip While clause 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 retourné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

Prendre

L’exemple de code suivant utilise la Take clause en Visual Basic pour retourner 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 de code suivant utilise la Take While clause de Visual Basic pour retourner 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