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