Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Возвращает указанное число смежных элементов с начала коллекции.
Синтаксис
Take count
Комплектующие
count
Обязательное. Значение или выражение, которое оценивает количество элементов возвращаемой последовательности.
Замечания
Предложение Take приводит к тому, что запрос включает указанное число смежных элементов из начала списка результатов. Число элементов, которые необходимо включить, указывается параметром count .
Предложение можно использовать Take с Skip предложением для возврата диапазона данных из любого сегмента запроса. Для этого передайте индекс первого элемента диапазона Skip предложению и размер диапазона предложению Take . В этом случае предложение Take должно быть указано после Skip предложения.
При использовании Take предложения в запросе также может потребоваться убедиться, что результаты возвращаются в порядке, позволяющем Take предложению включать предполагаемые результаты. Дополнительные сведения о заказе результатов запроса см. в предложении Order By.
Предложение можно использовать TakeWhile для указания того, что возвращаются только определенные элементы в зависимости от указанного условия.
Пример
В следующем примере кода предложение используется Take вместе с Skip предложением для возврата данных из запроса на страницах. Функция 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