Clausola Take (Visual Basic)Take Clause (Visual Basic)

Restituisce un numero specificato di elementi contigui dall'inizio di una raccolta.Returns a specified number of contiguous elements from the start of a collection.

SintassiSyntax

Take count  

PartiParts

count
Obbligatorio.Required. Valore o espressione che restituisce il numero di elementi della sequenza da restituire.A value or an expression that evaluates to the number of elements of the sequence to return.

NoteRemarks

La clausola Take fa in modo che una query includa un numero specificato di elementi contigui dall'inizio di un elenco di risultati.The Take clause causes a query to include a specified number of contiguous elements from the start of a results list. Il numero di elementi da includere è specificato dal parametro count.The number of elements to include is specified by the count parameter.

È possibile utilizzare la clausola Take con la clausola Skip per restituire un intervallo di dati da qualsiasi segmento di una query.You can use the Take clause with the Skip clause to return a range of data from any segment of a query. A tale scopo, passare l'indice del primo elemento dell'intervallo alla clausola Skip e la dimensione dell'intervallo alla clausola 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. In questo caso, è necessario specificare la clausola Take dopo la clausola Skip.In this case, the Take clause must be specified after the Skip clause.

Quando si utilizza la clausola Take in una query, potrebbe essere necessario assicurarsi che i risultati vengano restituiti in un ordine che consentirà alla clausola Take di includere i risultati desiderati.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. Per ulteriori informazioni sull'ordinamento dei risultati di query, vedere clausola ORDER BY.For more information about ordering query results, see Order By Clause.

È possibile utilizzare la clausola TakeWhile per specificare che vengano restituiti solo determinati elementi, a seconda della condizione specificata.You can use the TakeWhile clause to specify that only certain elements be returned, depending on a supplied condition.

EsempioExample

Nell'esempio di codice seguente viene utilizzata la clausola Take insieme alla clausola Skip per restituire dati da una query in pagine.The following code example uses the Take clause together with the Skip clause to return data from a query in pages. La funzione GetCustomers usa la clausola Skip per ignorare i clienti nell'elenco fino al valore di indice iniziale fornito e usa la clausola Take per restituire una pagina di clienti a partire da tale valore di indice.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

Vedere ancheSee also