Queryable.Take Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
Take<TSource>(IQueryable<TSource>, Int32) |
Vrátí zadaný počet souvislých prvků od začátku sekvence. |
Take<TSource>(IQueryable<TSource>, Range) |
Vrátí zadanou oblast souvislých prvků ze sekvence. |
Take<TSource>(IQueryable<TSource>, Int32)
Vrátí zadaný počet souvislých prvků od začátku sekvence.
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)
Parametry typu
- TSource
Typ prvků .source
Parametry
- source
- IQueryable<TSource>
Sekvence pro vrácení prvků z.
- count
- Int32
Počet prvků, které se mají vrátit.
Návraty
- IQueryable<TSource>
Hodnota IQueryable<T> obsahující zadaný počet prvků od začátku .source
Výjimky
source
je null
.
Příklady
Následující příklad kódu ukazuje, jak použít Take<TSource>(IQueryable<TSource>, Int32) k vrácení prvků od začátku sekvence.
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
Poznámky
Metoda Take<TSource>(IQueryable<TSource>, Int32) vygeneruje MethodCallExpression volání Take<TSource>(IQueryable<TSource>, Int32) jako vytvořenou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProvider CreateQuery(Expression) reprezentované Provider vlastností parametrusource
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Take<TSource>(IQueryable<TSource>, Int32) , závisí na implementaci typu parametru source
. Očekávané chování spočívá v tom, že přebírá první count
prvky od začátku source
.
Platí pro
Take<TSource>(IQueryable<TSource>, Range)
Vrátí zadanou oblast souvislých prvků ze sekvence.
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)
Parametry typu
- TSource
Typ prvků .source
Parametry
- source
- IQueryable<TSource>
Sekvence pro vrácení prvků z.
- range
- Range
Rozsah prvků, které se mají vrátit, má počáteční a koncové indexy buď od začátku, nebo konce.
Návraty
- IQueryable<TSource>
Hodnota IQueryable<T> , která obsahuje zadané range
prvky z source
sekvence.
Výjimky
source
je null
.