Queryable.Take Metodo

Definizione

Overload

Take<TSource>(IQueryable<TSource>, Int32)

Restituisce un numero specificato di elementi contigui dall'inizio di una sequenza.

Take<TSource>(IQueryable<TSource>, Range)

Restituisce un intervallo specificato di elementi contigui da una sequenza.

Take<TSource>(IQueryable<TSource>, Int32)

Restituisce un numero specificato di elementi contigui dall'inizio di una sequenza.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Take(System::Linq::IQueryable<TSource> ^ source, int count);
public static System.Linq.IQueryable<TSource> Take<TSource> (this System.Linq.IQueryable<TSource> source, int count);
static member Take : System.Linq.IQueryable<'Source> * int -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Take(Of TSource) (source As IQueryable(Of TSource), count As Integer) As IQueryable(Of TSource)

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Sequenza dalla quale vengono restituiti gli elementi.

count
Int32

Numero di elementi da restituire.

Restituisce

IQueryable<TSource>

Oggetto IQueryable<T> che contiene il numero specificato di elementi dall'inizio di source.

Eccezioni

source è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Take<TSource>(IQueryable<TSource>, Int32) per restituire elementi dall'inizio di una sequenza.

int[] grades = { 59, 82, 70, 56, 92, 98, 85 };

// Sort the grades in descending order and take the first three.
IEnumerable<int> topThreeGrades =
    grades.AsQueryable().OrderByDescending(grade => grade).Take(3);

Console.WriteLine("The top three grades are:");
foreach (int grade in topThreeGrades)
    Console.WriteLine(grade);

/*
    This code produces the following output:

    The top three grades are:
    98
    92
    85
*/
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}

' Sort the grades in descending order and take the first three.
Dim topThreeGrades = _
    grades.AsQueryable().OrderByDescending(Function(grade) grade).Take(3)

Dim output As New System.Text.StringBuilder
output.AppendLine("The top three grades are:")
For Each grade As Integer In topThreeGrades
    output.AppendLine(grade)
Next

' Display the output.
MsgBox(output.ToString())

' This code produces the following output:

' The top three grades are:
' 98
' 92
' 85

Commenti

Il Take<TSource>(IQueryable<TSource>, Int32) metodo genera un MethodCallExpression oggetto che rappresenta la chiamata Take<TSource>(IQueryable<TSource>, Int32) stessa come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al CreateQuery(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro.

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata Take<TSource>(IQueryable<TSource>, Int32) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che accetta i primi count elementi dall'inizio di source.

Si applica a

Take<TSource>(IQueryable<TSource>, Range)

Restituisce un intervallo specificato di elementi contigui da una sequenza.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TSource> ^ Take(System::Linq::IQueryable<TSource> ^ source, Range range);
public static System.Linq.IQueryable<TSource> Take<TSource> (this System.Linq.IQueryable<TSource> source, Range range);
static member Take : System.Linq.IQueryable<'Source> * Range -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Take(Of TSource) (source As IQueryable(Of TSource), range As Range) As IQueryable(Of TSource)

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Sequenza dalla quale vengono restituiti gli elementi.

range
Range

Intervallo di elementi da restituire, con indici iniziali e finali dall'inizio o dalla fine.

Restituisce

IQueryable<TSource>

Oggetto IQueryable<T> contenente l'oggetto specificato range di elementi dalla source sequenza.

Eccezioni

source è null.

Si applica a