Partager via


Skip, clause (Visual Basic)

Contourne un nombre spécifié d’éléments dans une collection, puis retourne les éléments restants.

Syntaxe

Skip count  

Pièces

count
Obligatoire. Valeur ou expression qui prend la valeur du nombre d’éléments de la séquence à ignorer.

Remarques

La Skip clause provoque un contournement des éléments au début d’une liste de résultats et retourne les éléments restants. Le nombre d’éléments à ignorer est identifié par le count paramètre.

Vous pouvez utiliser la Skip clause avec la Take clause pour retourner une plage de données à partir de n’importe quel segment d’une requête. Pour ce faire, transmettez l’index du premier élément de la plage à la Skip clause et la taille de la plage à la Take clause.

Lorsque vous utilisez la Skip clause dans une requête, vous devrez peut-être également vous assurer que les résultats sont retournés dans un ordre qui permettra à la Skip clause de contourner les résultats prévus. Pour plus d’informations sur l’ordre des résultats de requête, consultez La clause Order By.

Vous pouvez utiliser la SkipWhile clause pour spécifier que seuls certains éléments sont ignorés, en fonction d’une condition fournie.

Exemple :

L’exemple de code suivant utilise la Skip clause avec la Take clause pour retourner des données d’une requête dans des pages. La GetCustomers fonction utilise la Skip clause pour contourner les clients de la liste jusqu’à ce que la valeur d’index de départ fournie, et utilise la Take clause pour renvoyer une page de clients à partir de cette valeur d’index.

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

Voir aussi