Skip (Cláusula, Visual Basic)
Omite un número especificado de elementos de una colección y, a continuación, devuelve los elementos restantes.
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.
Comentarios
La cláusula Skip hace que una consulta omita elementos al principio de una lista de resultados y devuelva los elementos restantes. El parámetro count especifica el número de elementos que se van a omitir.
Puede usar la cláusula Skip con la cláusula Take para que se devuelva un intervalo de datos de cualquier segmento de una consulta. Para ello, pase el índice del primer elemento del intervalo a la cláusula Skip y el tamaño del intervalo a la cláusula Take.
Al usar la cláusula Skip en una consulta, puede que también necesite asegurar que los resultados se devuelven en un orden que permita a la cláusula Skip omitir los resultados en cuestión. Para obtener más información sobre cómo ordenar los resultados de una consulta, vea Order By (Cláusula, Visual Basic).
Puede usar la cláusula SkipWhile para especificar que únicamente se omitan ciertos elementos, dependiendo de la condición proporcionada.
Ejemplo
En el ejemplo de código siguiente se usa la cláusula Skip junto con la cláusula Take para que se devuelvan los datos de una consulta en páginas. La función GetCustomers usa la cláusula Skip para que se omitan los clientes de la lista hasta el valor de índice de inicio proporcionado, y usa la cláusula Take para que se devuelva una página de los 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
Vea también
Referencia
Select (Cláusula, Visual Basic)
Order By (Cláusula, Visual Basic)
Skip While (Cláusula, Visual Basic)
Conceptos
Introducción a LINQ en Visual Basic