Take — Klauzula (Visual Basic)

Zwraca określoną liczbę elementów sąsiadujących z początku kolekcji.

Take count

Części

  • count
    Wymagane.Wartość lub wyrażenie, którego wynikiem jest liczba elementów w kolejności, aby powrócić.

Uwagi

Take Klauzuli powoduje obejmować określoną liczbę elementów sąsiadujących z początku listy wyników kwerendy.Liczba elementów, aby uwzględnić jest określony przez count parametru.

Można użyć Take klauzuli z Skip klauzuli zwraca zakres danych z dowolnego segmentu kwerendy.Aby to zrobić, należy przekazać indeksu pierwszego elementu zakres do Skip klauzuli i rozmiar zakresu do Take klauzuli.W tym przypadku Take klauzuli musi być określony po Skip klauzuli.

Kiedy używać Take klauzula kwerendy może również trzeba zapewnić, że wyniki są zwracane w kolejności, która umożliwi Take klauzuli, aby uwzględnić zamierzonych rezultatów.Aby uzyskać więcej informacji o kolejności zawartych w wynikach kwerendy, zobacz Order By — Klauzula (Visual Basic).

Można użyć TakeWhile klauzuli, aby określić, są zwracane tylko niektóre elementy, w zależności od podany warunek.

Przykład

Następujący kod w przykładzie wykorzystano Take klauzuli wraz z Skip klauzuli, aby zwrócić dane z kwerendy w stronach.GetCustomers działać zastosowań Skip klauzuli pomijanie klientów na liście, dopóki początkową dostarczony indeks wartości i zastosowań Take klauzuli, aby powrócić do strony klientów, począwszy od tej wartości indeksu.

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

Zobacz też

Informacje

Select — Klauzula (Visual Basic)

From — Klauzula (Visual Basic)

Order By — Klauzula (Visual Basic)

Take While — Klauzula (Visual Basic)

Skip — Klauzula (Visual Basic)

Koncepcje

Wprowadzenie do LINQ w Visual Basic

Inne zasoby

Zapytania (Visual Basic)