Compartir vía


Datos de partición (Visual Basic)

Partición en LINQ es la operación de dividir una secuencia de entrada en dos secciones, sin reorganizar los elementos, y devolver después una de las secciones.

En la siguiente ilustración se muestran los resultados de tres operaciones de partición diferentes en una secuencia de caracteres. La primera operación devuelve los tres primeros elementos de la secuencia. La segunda operación omite los tres primeros elementos y devuelve los restantes. La tercera operación omite los dos primeros elementos de la secuencia y devuelve los tres siguientes.

Illustration that shows three LINQ partitioning operations.

Los métodos de operador de consulta estándar que realizan particiones de las secuencias se enumeran en la sección siguiente.

Operadores

Nombre de operador Descripción Sintaxis de expresiones de consulta de Visual Basic Más información
Skip Omite los elementos hasta una determinada posición de una secuencia. Skip Enumerable.Skip

Queryable.Skip
SkipWhile Omite los elementos según una función de predicado hasta que un elemento no satisface la condición. Skip While Enumerable.SkipWhile

Queryable.SkipWhile
Take Admite los elementos hasta una determinada posición de una secuencia. Take Enumerable.Take

Queryable.Take
TakeWhile Admite los elementos según una función de predicado hasta que un elemento no satisface la condición. Take While Enumerable.TakeWhile

Queryable.TakeWhile
Fragmento Divide los elementos de una secuencia en fragmentos de un tamaño máximo especificado. Enumerable.Chunk
Queryable.Chunk

Ejemplos de sintaxis de expresiones de consulta

Omitir

En el ejemplo de código siguiente se usa la Skip cláusula de Visual Basic para omitir las cuatro primeras cadenas de una matriz de cadenas antes de devolver las cadenas restantes de la matriz.


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

En el ejemplo de código siguiente se usa la Skip While cláusula de Visual Basic para omitir las cadenas de una matriz mientras que la primera letra de la cadena es «a». Se devuelven las cadenas restantes de la matriz.


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

En el ejemplo de código siguiente se usa la Take cláusula de Visual Basic para devolver las dos primeras cadenas de una matriz de cadenas.


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

En el ejemplo de código siguiente se usa la Take While cláusula de Visual Basic para devolver cadenas de una matriz, mientras que la longitud de la cadena es de cinco o menos.


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

Consulte también