Enumerable.Skip<TSource>(IEnumerable<TSource>, Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ignore un nombre spécifié d'éléments dans une séquence puis retourne les éléments restants.
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)
Paramètres de type
- TSource
Le type des éléments de source
.
Paramètres
- source
- IEnumerable<TSource>
IEnumerable<T> à partir duquel retourner les éléments.
- count
- Int32
Nombre d'éléments à ignorer avant de retourner les éléments restants.
Retours
IEnumerable<T> qui contient les éléments se trouvant après l'index spécifié dans la séquence d'entrée.
Exceptions
source
a la valeur null
.
Exemples
L’exemple de code suivant montre comment utiliser Skip pour ignorer un nombre spécifié d’éléments dans un tableau et retourner les éléments restants.
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
Remarques
Cette méthode est implémentée à l’aide d’une exécution différée. La valeur de retour immédiat est un objet qui stocke toutes les informations nécessaires à l’exécution de l’action. La requête représentée par cette méthode n’est pas exécutée tant que l’objet n’est pas énuméré soit en appelant directement sa GetEnumerator
méthode, soit en utilisant foreach
en C# ou For Each
en Visual Basic.
Si source
contient moins d’éléments count
, un vide IEnumerable<T> est retourné. Si count
est inférieur ou égal à zéro, tous les éléments de source
sont générés.
Les Take méthodes et Skip sont des compléments fonctionnels. Compte tenu d’une séquence coll
de collection et d’un entier n
, la concaténation des résultats de coll.Take(n)
et coll.Skip(n)
génère la même séquence que coll
.
Dans la syntaxe d’expression de requête Visual Basic, une Skip
clause se traduit par un appel de Skip.