Share via


Levar a cláusula (Visual Basic)

Retorna um número especificado de elementos contíguos do início de uma coleção.

Take count

Partes

  • count
    Obrigatório.Um valor ou uma expressão que avalia ao número de elementos da sequência a retornar.

Comentários

A cláusula Take faz com que uma dúvida inclua um número especificado de elementos contíguos do início de uma lista de resultados.O número de elementos para incluir é especificado pelo parâmetro count.

Você pode usar a cláusula Take com a cláusula Skip para retornar um intervalo de dados de qualquer segmento de uma consulta.Para fazer isso, passe o índice do primeiro elemento do intervalo para a cláusula Skip e o tamanho do intervalo para a cláusula Take.Nesse caso, a cláusula Take deve ser especificada após a cláusula Skip.

Ao usar a cláusula Take em uma pergunta, você também precisará garantir que os resultados são retornados em uma ordem que permitirá que a cláusula Take inclua os resultados pretendidos.Para obter mais informações sobre pedido resultados de pergunta, consulte Ordem por cláusula (Visual Basic).

Você pode usar a cláusula TakeWhile para especificar que apenas determinados elementos serão retornado, dependendo de uma condição fornecida.

Exemplo

O exemplo de código a seguir utiliza a cláusula Take juntamente com a cláusula Skip para retornar dados de uma consulta em páginas.A função GetCustomers usa a cláusula Skip para circundar os clientes na lista até que o valor de índice inicial fornecido e a cláusula Take para retornar uma página de clientes a partir desse valor de índice.

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

Consulte também

Referência

Selecione a cláusula (Visual Basic)

(Visual Basic) da cláusula FROM

Ordem por cláusula (Visual Basic)

Se enquanto cláusula (Visual Basic)

Cláusula de ignorar (Visual Basic)

Conceitos

Introdução ao LINQ em Visual Basic

Outros recursos

Consultas (Visual Basic)