Lire en anglais

Partager via


Enumerable.Take Méthode

Définition

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.

C#
public static System.Collections.Generic.IEnumerable<TSource> Take<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, int count);

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<TSource>

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.

C#
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
*/

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 à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
public static System.Collections.Generic.IEnumerable<TSource> Take<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Range range);

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<TSource>

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.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET 6, 7, 8, 9