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.
Omite un número especificado de elementos de una colección y, a continuación, devuelve los elementos restantes.
Sintaxis
Skip count
Partes
count
Obligatorio. Valor o expresión que se evalúa como el número de elementos de la secuencia que se van a omitir.
Observaciones
La Skip cláusula hace que una consulta omita los elementos al principio de una lista de resultados y devuelva los elementos restantes. El parámetro identifica el count número de elementos que se van a omitir.
Puede usar la Skip cláusula con la Take cláusula para devolver un intervalo de datos de cualquier segmento de una consulta. Para ello, pase el índice del primer elemento del intervalo a la Skip cláusula y el tamaño del intervalo a la Take cláusula .
Al usar la Skip cláusula en una consulta, es posible que también tenga que asegurarse de que los resultados se devuelven en un orden que permita que la Skip cláusula omita los resultados previstos. Para obtener más información sobre cómo ordenar los resultados de la consulta, vea Order By Clause.
Puede usar la SkipWhile cláusula para especificar que solo se omiten determinados elementos, en función de una condición proporcionada.
Ejemplo
En el ejemplo de código siguiente se usa la Skip cláusula junto con la Take cláusula para devolver datos de una consulta en páginas. La GetCustomers función usa la Skip cláusula para omitir los clientes de la lista hasta que el valor de índice inicial proporcionado y usa la Take cláusula para devolver una página de clientes a partir de ese valor de índice.
Public Sub PagingSample()
Dim pageNumber As Integer = 0
Dim pageSize As Integer = 10
Dim customersPage = GetCustomers(pageNumber * pageSize, pageSize)
Do While customersPage IsNot Nothing
Console.WriteLine(vbCrLf & "Page: " & pageNumber + 1 & vbCrLf)
For Each cust In customersPage
Console.WriteLine(cust.CustomerID & ", " & cust.CompanyName)
Next
Console.WriteLine(vbCrLf)
pageNumber += 1
customersPage = GetCustomers(pageNumber * pageSize, pageSize)
Loop
End Sub
Public Function GetCustomers(ByVal startIndex As Integer,
ByVal pageSize As Integer) As List(Of Customer)
Dim customers = GetCustomerList()
Dim returnCustomers = From cust In customers
Skip startIndex Take pageSize
If returnCustomers.Count = 0 Then Return Nothing
Return returnCustomers
End Function