Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
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.
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