Partilhar via


Tomar 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 By 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

Conceitos

Introdução ao LINQ no Visual Basic

Referência

Cláusula Select (Visual Basic)

A partir da cláusula (Visual Basic)

Ordem By cláusula (Visual Basic)

Levar ao cláusula (Visual Basic)

Ignorar a cláusula (Visual Basic)

Outros recursos

Consultas(Visual Basic)