Skip – klauzule (Visual Basic)
Obchází zadaný počet prvků v kolekci a vrátí zbývající prvky.
Syntaxe
Skip count
Součástky
count
Povinný: Hodnota nebo výraz, který se vyhodnotí jako počet prvků sekvence, které se mají přeskočit.
Poznámky
Klauzule Skip
způsobí, že dotaz vynechá elementy na začátku seznamu výsledků a vrátí zbývající prvky. Parametr identifikuje count
počet prvků, které se mají přeskočit.
Klauzuli Skip
s Take
klauzulí můžete použít k vrácení rozsahu dat z libovolného segmentu dotazu. Uděláte to tak, že předáte index prvního prvku rozsahu Skip
klauzuli a velikost rozsahu Take
do klauzule.
Při použití Skip
klauzule v dotazu může být také nutné zajistit, aby výsledky byly vráceny v pořadí, které Skip
umožní klauzuli obejít zamýšlené výsledky. Další informace o řazení výsledků dotazu naleznete v tématu Order By – klauzule.
Klauzuli SkipWhile
můžete použít k určení, že se v závislosti na zadané podmínce ignorují jenom určité prvky.
Příklad
Následující příklad kódu používá Skip
klauzuli společně s Take
klauzulí k vrácení dat z dotazu na stránkách. Funkce GetCustomers
používá Skip
klauzuli k obejití zákazníků v seznamu, dokud zadaná počáteční hodnota indexu a pomocí Take
této klauzule vrátí stránku zákazníků počínaje danou hodnotou indexu.
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