Enumerable.Skip<TSource>(IEnumerable<TSource>, Int32) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pomija określoną liczbę elementów w sekwencji, a następnie zwraca pozostałe elementy.
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 elementów elementu source
.
Parametry
- source
- IEnumerable<TSource>
Element IEnumerable<T> do zwracania elementów z.
- count
- Int32
Liczba elementów do pominięcia przed zwróceniem pozostałych elementów.
Zwraca
Element IEnumerable<T> zawierający elementy, które występują po określonym indeksie w sekwencji danych wejściowych.
Wyjątki
source
to null
.
Przykłady
W poniższym przykładzie kodu pokazano, jak pominąć Skip określoną liczbę elementów w tablicy i zwrócić pozostałe elementy.
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
Uwagi
Ta metoda jest implementowana za pomocą odroczonego wykonania. Bezpośrednio zwracana wartość jest obiektem, który przechowuje wszystkie informacje wymagane do wykonania akcji. Zapytanie reprezentowane przez tę metodę nie jest wykonywane, dopóki obiekt nie zostanie wyliczone przez wywołanie metody GetEnumerator
bezpośrednio lub przy użyciu foreach
języka C# lub For Each
w Visual Basic.
Jeśli source
zawiera mniej niż count
elementy, zwracana jest pusta IEnumerable<T> wartość. Jeśli count
wartość jest mniejsza lub równa zero, wszystkie elementy source
są zwracane.
Metody Take i Skip są uzupełnieniem funkcjonalnym. Biorąc pod uwagę sekwencję coll
kolekcji i n
liczbę całkowitą, łączenie wyników coll.Take(n)
i coll.Skip(n)
zwraca tę samą sekwencję co coll
.
W składni wyrażenia zapytania języka Visual Basic klauzula Skip
przekłada się na wywołanie Skipelementu .