Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La creación de particiones en LINQ hace referencia al funcionamiento de dividir una secuencia de entrada en dos secciones, sin reorganizar los elementos y, a continuación, devolver una de las secciones.
En la ilustración siguiente se muestran los resultados de tres operaciones de creación de particiones 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 elementos restantes. La tercera operación omite los dos primeros elementos de la secuencia y devuelve los tres elementos siguientes.
Los métodos del operador estándar de consulta que particionan secuencias se enumeran en la sección siguiente.
Operadores
| Nombre del operador | Descripción | Sintaxis de expresión de consulta de Visual Basic | Más información |
|---|---|---|---|
| Omitir | Omite los elementos hasta una posición especificada en una secuencia. | Skip |
Enumerable.Skip Queryable.Skip |
| SkipWhile | Omite los elementos basados en una función de predicado hasta que un elemento no cumple la condición. | Skip While |
Enumerable.SkipWhile Queryable.SkipWhile |
| Tomar | Toma elementos hasta una posición especificada en una secuencia. | Take |
Enumerable.Take Queryable.Take |
| TakeWhile | Toma elementos basados en una función de predicado hasta que un elemento no cumple 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
Tomar
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
- System.Linq
- Información General sobre los Operadores de Consulta Estándar (Visual Basic)
- Cláusula Skip
- Cláusula Skip While
- Cláusula Take
- Cláusula Take While