Partizionamento dei dati
Il partizionamento in LINQsi riferisce all'operazione di divisione di una sequenza di input in due sezioni, senza ridisporre gli elementi e restituendo quindi una delle sezioni.
Nella figura seguente vengono illustrati i risultati di tre diverse operazioni di partizionamento su una sequenza di caratteri. La prima operazione restituisce i primi tre elementi della sequenza. La seconda operazione ignora i primi tre elementi e restituisce gli elementi rimanenti. La terza operazione ignora i primi due elementi della sequenza e restituisce i tre elementi successivi.
I metodi degli operatori di query standard che partizionano le sequenze sono riportati nella sezione seguente.
Operatori
Nome dell'operatore |
Descrizione |
Sintassi dell'espressione di query in C# |
Sintassi dell'espressione di query in Visual Basic |
Ulteriori informazioni |
---|---|---|---|---|
Skip |
Ignora gli elementi fino a una posizione specificata in una sequenza. |
Non applicabile. |
Skip |
|
SkipWhile |
Ignora gli elementi in base a una funzione predicativa finché un elemento non soddisfa la condizione. |
Non applicabile. |
Skip While |
|
Take |
Accetta gli elementi fino a una posizione specificata in una sequenza. |
Non applicabile. |
Take |
|
TakeWhile |
Accetta gli elementi in base a una funzione predicativa finché un elemento non soddisfa la condizione. |
Non applicabile. |
Take While |
Esempi di sintassi dell'espressione di query
Skip
Nell'esempio di codice seguente viene utilizzata la clausola Skip in Visual Basic per ignorare le prime quattro stringhe in una matrice di stringhe prima di restituire le stringhe rimanenti della matrice.
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
Nell'esempio di codice seguente viene utilizzata la clausola Skip While in Visual Basic per ignorare le stringhe in una matrice quando la prima lettera della stringa è "a". Vengono restituite le stringhe rimanenti nella matrice.
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
Nell'esempio di codice seguente viene utilizzata la clausola Take in Visual Basic per restituire le prime due stringhe in una matrice di stringhe.
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
Nell'esempio di codice seguente viene utilizzata la clausola Take While in Visual Basic per restituire le stringhe da una matrice quando la il valore della lunghezza della stringa è pari a cinque o inferiore.
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
Vedere anche
Riferimenti
Clausola Skip While (Visual Basic)
Clausola Take While (Visual Basic)