Enumerable.Skip<TSource>(IEnumerable<TSource>, Int32) 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í.
Obchází zadaný počet prvků v sekvenci a pak vrátí zbývající prvky.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<TSource> ^ Skip(System::Collections::Generic::IEnumerable<TSource> ^ source, int count);
public static System.Collections.Generic.IEnumerable<TSource> Skip<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, int count);
static member Skip : seq<'Source> * int -> seq<'Source>
<Extension()>
Public Function Skip(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>
Chcete-li IEnumerable<T> vrátit elementy z.
- count
- Int32
Počet prvků, které se mají přeskočit před vrácením zbývajících prvků.
Návraty
Obsahuje IEnumerable<T> prvky, které se vyskytují po zadaném indexu ve vstupní sekvenci.
Výjimky
source
je null
.
Příklady
Následující příklad kódu ukazuje, jak pomocí Skip přeskočit zadaný počet prvků v poli a vrátit zbývající prvky.
int[] grades = { 59, 82, 70, 56, 92, 98, 85 };
Console.WriteLine("All grades except the first three:");
foreach (int grade in grades.Skip(3))
{
Console.WriteLine(grade);
}
/*
This code produces the following output:
All grades except the first three:
56
92
98
85
*/
' Create an array of integers that represent grades.
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}
' Sort the numbers in descending order and
' get all but the first (largest) three numbers.
Dim skippedGrades As IEnumerable(Of Integer) =
grades _
.Skip(3)
' Display the results.
Dim output As New System.Text.StringBuilder("All grades except the first three are:" & vbCrLf)
For Each grade As Integer In skippedGrades
output.AppendLine(grade)
Next
Console.WriteLine(output.ToString())
' This code produces the following output:
'
' All grades except the first three are:
' 56
' 92
' 98
' 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.
Pokud source
obsahuje méně než count
elementy, vrátí se prázdná hodnota IEnumerable<T> . Pokud count
je hodnota menší než nebo rovna nule, jsou všechny prvky objektu source
z převedeny.
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 Skip
klauzule překládá na vyvolání Skip.