Megosztás a következőn keresztül:


Záradék kihagyása (Visual Basic)

Adott számú elemet ad át egy gyűjteményben, majd visszaadja a fennmaradó elemeket.

Syntax

Skip count  

Részek

count
Szükséges. Olyan érték vagy kifejezés, amely kiértékeli a kihagyni kívánt sorozat elemeinek számát.

Megjegyzések

A Skip záradék hatására a lekérdezés megkerüli az elemeket az eredménylista elején, és visszaadja a fennmaradó elemeket. A kihagyandó elemek számát a count paraméter azonosítja.

A záradék és a SkipTake záradék segítségével egy lekérdezés bármely szegmenséből visszaadhat egy adattartományt. Ehhez adja át a tartomány első elemének indexét a Skip záradéknak, a tartomány méretét pedig a Take záradéknak.

Ha a Skip záradékot egy lekérdezésben használja, előfordulhat, hogy az eredményeket olyan sorrendben kell visszaadnia, amely lehetővé teszi, hogy a Skip záradék megkerülje a kívánt eredményeket. További információ a lekérdezési eredmények megrendeléséről: Order By Clause.

A záradék használatával SkipWhile megadhatja, hogy a megadott feltételtől függően csak bizonyos elemek legyenek figyelmen kívül hagyva.

Példa

Az alábbi példakód a Skip záradék és a Take záradék együttes használatával adja vissza az adatokat egy lekérdezésből a lapokban. A GetCustomers függvény a Skip záradék használatával megkerüli a listában szereplő ügyfeleket a megadott kezdő indexértékig, és a záradék használatával visszaadja az Take adott indexértéktől kezdődő ügyfelek lapját.

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

Lásd még