Condividi tramite


Clausola Skip (Visual Basic)

Ignora un numero specificato di elementi in una raccolta e quindi restituisce gli elementi rimanenti.

Sintassi

Skip count  

Parti

count
Obbligatorio. Valore o espressione che restituisce il numero di elementi della sequenza da ignorare.

Osservazioni:

La Skip clausola fa sì che una query ignori gli elementi all'inizio di un elenco risultati e restituisca gli elementi rimanenti. Il numero di elementi da ignorare è identificato dal count parametro .

È possibile utilizzare la Skip clausola con la Take clausola per restituire un intervallo di dati da qualsiasi segmento di una query. A tale scopo, passare l'indice del primo elemento dell'intervallo alla Skip clausola e le dimensioni dell'intervallo alla Take clausola .

Quando si usa la Skip clausola in una query, potrebbe anche essere necessario assicurarsi che i risultati vengano restituiti in un ordine che consentirà alla Skip clausola di ignorare i risultati previsti. Per altre informazioni sull'ordinamento dei risultati della query, vedere Clausola Order By.

È possibile utilizzare la SkipWhile clausola per specificare che solo determinati elementi vengono ignorati, a seconda di una condizione fornita.

Esempio

Nell'esempio di codice seguente viene utilizzata la Skip clausola insieme alla Take clausola per restituire dati da una query nelle pagine. La GetCustomers funzione usa la Skip clausola per ignorare i clienti nell'elenco fino al valore di indice iniziale specificato e usa la Take clausola per restituire una pagina di clienti a partire da tale valore di indice.

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

Vedere anche