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í zadaný rozsah 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 prvků objektu source
.
Parametry
- source
- IEnumerable<TSource>
Posloupnost, ze které se mají vrátit 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 vytvoří source
výčet a výnosy prvků, dokud count
prvky nebyly převedeny nebo source
neobsahují žádné další prvky. Pokud count
překročí počet prvků v source
, vrátí se všechny prvky .source
Pokud count
je menší než nebo rovna nule, source
není výčtu a je vrácena prázdná IEnumerable<T> hodnota.
Metody Take a Skip jsou funkčními doplňky. Při sekvenci coll
kolekce a celočíselném n
sekvenci se zřetězení výsledků coll.Take(n)
a coll.Skip(n)
vytvoří stejnou sekvenci jako coll
.
V syntaxi výrazu dotazu jazyka Visual Basic se Take
klauzule překládá na vyvolání Take.
Viz také
Platí pro
Take<TSource>(IEnumerable<TSource>, Range)
- Zdroj:
- Take.cs
- Zdroj:
- Take.cs
- Zdroj:
- Take.cs
Vrátí zadaný rozsah 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 prvků objektu source
.
Parametry
- source
- IEnumerable<TSource>
Posloupnost, ze které se mají vrátit prvky.
- range
- Range
Rozsah prvků, které se mají vrátit, který má počáteční a koncové indexy od začátku nebo konce sekvence.
Návraty
Obsahuje IEnumerable<T> 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 vytvoří source
výčet a vynese prvky, jejichž indexy patří do zadaného range
.
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro