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í
| Name | Description |
|---|---|
| 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ů z sekvence. |
Take<TSource>(IEnumerable<TSource>, Int32)
- Zdroj:
- Take.cs
- Zdroj:
- Take.cs
- 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ů .source
Parametry
- source
- IEnumerable<TSource>
Sekvence, ze které se mají vrátit prvky.
- count
- Int32
Počet prvků, které se mají vrátit.
Návraty
Hodnota IEnumerable<T> , která obsahuje 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í prvků ze začátku sekvence (po seřazení).
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 se nespustí, dokud objekt nevyčte buď voláním metody GetEnumerator přímo nebo pomocí foreach v jazyce C# nebo For Each v Visual Basic.
Take enumerates source a yields elements until count elements have have yielded or source contains no more elements. Pokud count překročí počet prvků, sourcevrátí se všechny prvky source .
Pokud count je menší nebo rovna nule, source není výčet a je vrácena prázdná IEnumerable<T> hodnota.
Metody Take jsou Skip funkční doplňky. Vzhledem k posloupnosti coll kolekce a celočíselnému nzřetězení výsledků coll.Take(n) a coll.Skip(n) výnosu stejné sekvence jako coll.
V syntaxi výrazu dotazu Visual Basic se klauzule Take přeloží na vyvolání Take.
Viz také
Platí pro
Take<TSource>(IEnumerable<TSource>, Range)
- Zdroj:
- Take.cs
- Zdroj:
- Take.cs
- Zdroj:
- Take.cs
- Zdroj:
- Take.cs
- Zdroj:
- Take.cs
Vrátí zadanou oblast souvislých prvků z 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ů .source
Parametry
- source
- IEnumerable<TSource>
Sekvence, ze které se mají vrátit prvky.
- range
- Range
Rozsah prvků, které se mají vrátit, který má počáteční a koncové indexy buď od začátku, nebo konce sekvence.
Návraty
Hodnota IEnumerable<T> , která obsahuje zadaný rozsah prvků z 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 se nespustí, dokud objekt nevyčte buď voláním metody GetEnumerator přímo nebo pomocí foreach v jazyce C# nebo For Each v Visual Basic.
Take enumerates source a výnosy prvky, jejichž indexy patří do zadaného range.