Take (Cláusula, Visual Basic)Take Clause (Visual Basic)

Devuelve un número especificado de elementos contiguos desde el principio de una colección.Returns a specified number of contiguous elements from the start of a collection.

SintaxisSyntax

Take count  

ElementosParts

count
Obligatorio.Required. Un valor o una expresión que se evalúa como el número de elementos de la secuencia que se va a devolver.A value or an expression that evaluates to the number of elements of the sequence to return.

ComentariosRemarks

La cláusula Take hace que una consulta incluya un número especificado de elementos contiguos desde el principio de una lista de resultados.The Take clause causes a query to include a specified number of contiguous elements from the start of a results list. El número de elementos que se van a incluir se especifica mediante el parámetro count.The number of elements to include is specified by the count parameter.

Puede usar la cláusula Take con la cláusula Skip para devolver un intervalo de datos de cualquier segmento de una consulta.You can use the Take clause with the Skip clause to return a range of data from any segment of a query. Para ello, pase el índice del primer elemento del intervalo a la cláusula Skip y el tamaño del intervalo a la cláusula Take.To do this, pass the index of the first element of the range to the Skip clause and the size of the range to the Take clause. En este caso, la cláusula Take debe especificarse después de la cláusula Skip.In this case, the Take clause must be specified after the Skip clause.

Al utilizar la cláusula Take en una consulta, puede que también tenga que asegurarse de que los resultados se devuelven en un orden que permita a la cláusula Take incluir los resultados deseados.When you use the Take clause in a query, you may also need to ensure that the results are returned in an order that will enable the Take clause to include the intended results. Para obtener más información sobre cómo ordenar los resultados de una consulta, vea cláusula order by.For more information about ordering query results, see Order By Clause.

Puede usar la cláusula TakeWhile para especificar que solo se devuelvan determinados elementos, en función de una condición proporcionada.You can use the TakeWhile clause to specify that only certain elements be returned, depending on a supplied condition.

EjemploExample

En el ejemplo de código siguiente se usa la cláusula Take junto con la cláusula Skip para devolver datos de una consulta en páginas.The following code example uses the Take clause together with the Skip clause to return data from a query in pages. La función GetCustomers usa la cláusula Skip para omitir los clientes de la lista hasta el valor del índice de inicio proporcionado, y usa la cláusula Take para devolver una página de clientes a partir de ese valor de índice.The GetCustomers function uses the Skip clause to bypass the customers in the list until the supplied starting index value, and uses the Take clause to return a page of customers starting from that index value.

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

Vea tambiénSee also