Enumerable.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>(IEnumerable<TSource>, Int32) |
Vrátí zadaný počet souvislých prvků od začátku sekvence. |
Take<TSource>(IEnumerable<TSource>, Range) |
Vrátí zadanou oblast souvislých prvků ze sekvence. |
Take<TSource>(IEnumerable<TSource>, Int32)
- Zdroj:
- Take.cs
- Zdroj:
- Take.cs
- Zdroj:
- Take.cs
Vrátí zadaný počet souvislých prvků od začátku sekvence.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<TSource> ^ Take(System::Collections::Generic::IEnumerable<TSource> ^ source, int count);
public static System.Collections.Generic.IEnumerable<TSource> Take<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, int count);
static member Take : seq<'Source> * int -> seq<'Source>
<Extension()>
Public Function Take(Of TSource) (source As IEnumerable(Of TSource), count As Integer) As IEnumerable(Of TSource)
Parametry typu
- TSource
Typ elementů .source
Parametry
- source
- IEnumerable<TSource>
Sekvence, ze které se mají vracet prvky.
- count
- Int32
Počet prvků, které se mají vrátit.
Návraty
Obsahuje IEnumerable<T> zadaný počet prvků od začátku vstupní sekvence.
Výjimky
source
je null
.
Příklady
Následující příklad kódu ukazuje, jak použít Take k vrácení elementů od začátku sekvence.
int[] grades = { 59, 82, 70, 56, 92, 98, 85 };
IEnumerable<int> topThreeGrades =
grades.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
*/
' Create an array of Integer values that represent grades.
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}
' Get the highest three grades by first sorting
' them in descending order and then taking the
' first three values.
Dim topThreeGrades As IEnumerable(Of Integer) =
grades _
.OrderByDescending(Function(grade) grade) _
.Take(3)
' Display the results.
Dim output As New System.Text.StringBuilder("The top three grades are:" & vbCrLf)
For Each grade As Integer In topThreeGrades
output.AppendLine(grade)
Next
Console.WriteLine(output.ToString())
' This code produces the following output:
'
' The top three grades are:
' 98
' 92
' 85
Poznámky
Tato metoda se implementuje pomocí odloženého spuštění. Okamžitá návratová hodnota je objekt, který ukládá všechny informace potřebné k provedení akce. Dotaz reprezentovaný touto metodou není proveden, dokud objekt není výčet buď voláním jeho GetEnumerator
metody přímo, nebo pomocí foreach
v jazyce C# nebo For Each
v jazyce Visual Basic.
Take vyčísluje a uvolňuje source
prvky, dokud count
nejsou prvky vydány nebo source
neobsahují žádné další prvky. Pokud count
překročí počet prvků v source
, vrátí se všechny prvky z source
.
Pokud count
je menší než nebo rovna nule, source
není výčtu a vrátí se prázdný IEnumerable<T> .
Metody Take a Skip jsou funkční doplňky. Vzhledem k posloupnosti coll
kolekce a celočíselnému n
typu zřetězení výsledků coll.Take(n)
a coll.Skip(n)
výsledkem je stejná sekvence jako coll
.
V syntaxi výrazu dotazu jazyka Visual Basic se Take
klauzule překládá na vyvolání výrazu Take.
Viz také
Platí pro
Take<TSource>(IEnumerable<TSource>, Range)
- Zdroj:
- Take.cs
- Zdroj:
- Take.cs
- Zdroj:
- Take.cs
Vrátí zadanou oblast souvislých prvků ze sekvence.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<TSource> ^ Take(System::Collections::Generic::IEnumerable<TSource> ^ source, Range range);
public static System.Collections.Generic.IEnumerable<TSource> Take<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Range range);
static member Take : seq<'Source> * Range -> seq<'Source>
<Extension()>
Public Function Take(Of TSource) (source As IEnumerable(Of TSource), range As Range) As IEnumerable(Of TSource)
Parametry typu
- TSource
Typ elementů .source
Parametry
- source
- IEnumerable<TSource>
Sekvence, ze které se mají vracet prvky.
- range
- Range
Oblast prvků, které se mají vrátit, která má počáteční a koncové indexy od začátku nebo konce sekvence.
Návraty
Objekt IEnumerable<T> , který obsahuje zadaný rozsah prvků ze source
sekvence.
Výjimky
source
je null
.
Poznámky
Tato metoda se implementuje pomocí odloženého spuštění. Okamžitá návratová hodnota je objekt, který ukládá všechny informace potřebné k provedení akce. Dotaz reprezentovaný touto metodou není proveden, dokud objekt není výčet buď voláním jeho GetEnumerator
metody přímo, nebo pomocí foreach
v jazyce C# nebo For Each
v jazyce Visual Basic.
Take vyčíslí source
a vynese prvky, jejichž indexy patří zadanému range
.