Предложение Skip (Visual Basic)
Обновлен: Ноябрь 2007
Пропускает заданное число элементов в коллекции и возвращает остальные элементы.
Skip count
Компоненты
- count
Обязательный атрибут. Значение или выражение, вычисление которого дает число пропускаемых элементов последовательности.
Заметки
Предложение Skip вызывает запрос для пропуска элементов в начале списка результатов и возвращения остальных элементов. Число пропускаемых элементов определяется параметром count.
Пользователь может использовать предложение Skip с предложением Take для возврата диапазона данных из любого сегмента запроса. Для этого передайте индекс первого элемента диапазона в предложение Skip и размер диапазона в предложение Take.
При использовании в запросе предложения Skip может быть необходимо убедиться, что результаты возвращаются в том порядке, который позволяет предложению Skip пропускать намеченные результаты. Дополнительные сведения о сортировке результатов запроса содержатся в разделе Предложение Order By (Visual Basic).
Для указания того, что пропускаются только определенные элементы в зависимости от предоставленного условия, пользователь может использовать предложение SkipWhile.
Пример
В следующем примере кода для возвращения данных из запроса на страницах предложение Skip используется вместе с предложением Take. Функция GetCustomers использует предложение Skip для пропуска в списке всех клиентов до предоставленного начального значения индекса и предложение Take для возвращения страницы клиентов, начиная с этого значения индекса.
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
См. также
Основные понятия
Знакомство с LINQ в Visual Basic
Ссылки
Предложение Select (Visual Basic)
Предложение Order By (Visual Basic)
Предложение Skip While (Visual Basic)
Предложение Take (Visual Basic)