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


Предложение 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)

Условие From (Visual Basic)

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

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

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

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

Запросы (Visual Basic)