Enumerable.Take 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.
Surcharges
Take<TSource>(IEnumerable<TSource>, Int32) |
Retourne un nombre spécifié d'éléments contigus à partir du début d'une séquence. |
Take<TSource>(IEnumerable<TSource>, Range) |
Retourne une plage spécifiée d’éléments contigus d’une séquence. |
Take<TSource>(IEnumerable<TSource>, Int32)
- Source:
- Take.cs
- Source:
- Take.cs
- Source:
- Take.cs
Retourne un nombre spécifié d'éléments contigus à partir du début d'une séquence.
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)
Paramètres de type
- TSource
Le type des éléments de source
.
Paramètres
- source
- IEnumerable<TSource>
Séquence à partir de laquelle retourner les éléments.
- count
- Int32
Nombre d'éléments à retourner.
Retours
IEnumerable<T> qui contient le nombre spécifié d'éléments à partir du début de la séquence d'entrée.
Exceptions
source
a la valeur null
.
Exemples
L’exemple de code suivant montre comment utiliser Take pour retourner des éléments au début d’une séquence.
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
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.
Take énumère et génère des source
éléments jusqu’à ce count
que les éléments aient été générés ou source
ne contiennent plus d’éléments. Si count
dépasse le nombre d’éléments dans source
, tous les éléments de source
sont retournés.
Si count
est inférieur ou égal à zéro, source
n’est pas énuméré et un vide IEnumerable<T> est retourné.
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 Take
clause se traduit par un appel de Take.
Voir aussi
S’applique à
Take<TSource>(IEnumerable<TSource>, Range)
- Source:
- Take.cs
- Source:
- Take.cs
- Source:
- Take.cs
Retourne une plage spécifiée d’éléments contigus d’une séquence.
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)
Paramètres de type
- TSource
Le type des éléments de source
.
Paramètres
- source
- IEnumerable<TSource>
Séquence à partir de laquelle retourner les éléments.
- range
- Range
Plage d’éléments à retourner, qui a des index de début et de fin à partir du début ou de la fin de la séquence.
Retours
IEnumerable<T> qui contient la plage spécifiée d’éléments de la source
séquence.
Exceptions
source
a la valeur null
.
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.
Take énumère et génère des source
éléments dont les index appartiennent au spécifié range
.