Поделиться через


Предложение Skip (Visual Basic)

Пропускает заданное число элементов в коллекции и возвращает остальные элементы.

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

См. также

Ссылки

Предложение Select (Visual Basic)

Предложение From (Visual Basic)

Предложение Order By (Visual Basic)

Предложение Skip While (Visual Basic)

Предложение Take (Visual Basic)

Основные понятия

Знакомство с LINQ в Visual Basic

Другие ресурсы

Запросы (Visual Basic)