Partizionamento dei dati (Visual Basic)

Il partizionamento in LINQ è l'operazione di divisione di una sequenza di input in due sezioni senza ridisposizione degli elementi e la successiva restituzione di una delle sezioni.

La figura seguente illustra i risultati di tre diverse operazioni di partizionamento in una sequenza di caratteri. La prima operazione restituisce i primi tre elementi nella sequenza. La seconda operazione ignora i primi tre elementi e restituisce gli elementi rimanenti. La terza operazione ignora i primi due elementi nella sequenza e restituisce i tre elementi successivi.

Illustration that shows three LINQ partitioning operations.

Nella sezione seguente sono elencati i metodi degli operatori di query standard che eseguono la partizione delle sequenze.

Operatori

Nome operatore Descrizione Sintassi delle espressioni di query di Visual Basic Ulteriori informazioni
Ignora Ignora gli elementi fino a una posizione specificata in una sequenza. Skip Enumerable.Skip

Queryable.Skip
SkipWhile Ignora gli elementi in base a una funzione di predicato fino a quando un elemento non soddisfa la condizione. Skip While Enumerable.SkipWhile

Queryable.SkipWhile
Take Accetta gli elementi fino a una posizione specificata in una sequenza. Take Enumerable.Take

Queryable.Take
TakeWhile Accetta gli elementi in base a una funzione di predicato fino a quando un elemento non soddisfa la condizione. Take While Enumerable.TakeWhile

Queryable.TakeWhile
Blocco Suddivide gli elementi di una sequenza in blocchi di una dimensione massima specificata. Enumerable.Chunk
Queryable.Chunk

Esempi di sintassi delle espressioni di query

Ignora

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 nella 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 della 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 stringhe di una matrice quando la lunghezza della stringa è uguale o inferiore a cinque.


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

Vedi anche