Condividi tramite


Partizionamento dei dati (Visual Basic)

Il partizionamento in LINQ fa riferimento all'operazione di divisione di una sequenza di input in due sezioni, senza ridisporre gli elementi e quindi restituire una delle sezioni.

La figura seguente mostra 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.

Figura che mostra tre operazioni di partizionamento LINQ.

I metodi dell'operatore di query standard che partizionano le sequenze sono elencati nella sezione seguente.

Operatori

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

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

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

Queryable.Take
TakeWhile Accetta elementi basati su una funzione 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

Salta

Nell'esempio di codice seguente viene utilizzata la Skip clausola 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 Skip While clausola in Visual Basic per ignorare le stringhe in una matrice mentre 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

Prendere

Nell'esempio di codice seguente viene utilizzata la Take clausola 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 Take While clausola in Visual Basic per restituire stringhe da una matrice mentre la lunghezza della stringa è 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