Partitionnement des données
Le partitionnement dans LINQ fait référence à la division d'une séquence d'entrée en deux sections, sans réorganiser les éléments, puis au retour de l'une des sections.
L'illustration suivante présente 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 les séquences sont répertoriées dans la section suivante.
Opérateurs
Nom d'opérateur |
Description |
Syntaxe d'expression de requête C# |
Syntaxe d'expression de requête Visual Basic |
Informations supplémentaires |
---|---|---|---|---|
Skip |
Ignore les éléments jusqu'à une position spécifiée dans une séquence. |
Non applicable. |
Skip |
|
SkipWhile |
Ignore les éléments basés sur une fonction de prédicat jusqu'à ce qu'un élément ne satisfasse pas la condition. |
Non applicable. |
Skip While |
|
Take |
Prend les éléments jusqu'à une position spécifiée dans une séquence. |
Non applicable. |
Take |
|
TakeWhile |
Prend les éléments basés sur une fonction de prédicat jusqu'à ce qu'un élément ne satisfasse pas la condition. |
Non applicable. |
Take While |
Exemples de syntaxe d'expression de requête
Skip
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 retourner 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 clause Skip WhileVisual Basic pour ignorer les chaînes d'un tableau dont la première lettre est un « a ». Les chaînes restantes dans le 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
Take
L'exemple de code suivant utilise la clause Take dans 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 clause Take While dans Visual Basic pour retourner les chaînes d'un tableau dont la longueur est inférieure ou égale à cinq.
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
Référence
Skip While, clause (Visual Basic)
Take While, clause (Visual Basic)