Skip (Cláusula, Visual Basic)

Omite un número especificado de elementos de una colección y, a continuación, devuelve los elementos restantes.

Sintaxis

Skip count  

Partes

count
Necesario. Valor o expresión que se evalúa como el número de elementos de la secuencia que se omitirá.

Comentarios

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 número de elementos que se count omitirán.

Puede usar la cláusula Skip con la cláusula para devolver un intervalo de datos de cualquier segmento de una Take consulta. Para ello, pase el índice del primer elemento del intervalo a la cláusula y el Skip tamaño del intervalo a la cláusula Take .

Cuando se usa la cláusula en una consulta, es posible que también tenga que asegurarse de que los resultados se devuelven en un orden que permitirá a la cláusula omitir los Skip Skip resultados previstos. Para obtener más información sobre cómo ordenar los resultados de la consulta, vea Cláusula Order By.

Puede usar la cláusula para especificar que solo se omiten determinados SkipWhile elementos, en función de una condición proporcionada.

Ejemplo

En el ejemplo de código siguiente se usa Skip la cláusula junto con la cláusula para devolver datos de una consulta en Take páginas. La función usa la cláusula para omitir a los clientes de la lista hasta el valor de índice inicial proporcionado y usa la cláusula para devolver una página de clientes a partir de ese GetCustomers Skip valor de Take í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

Consulta también