Queryable.Take<TSource>(IQueryable<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.
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::Linq::IQueryable<TSource> ^ Take(System::Linq::IQueryable<TSource> ^ source, int count);
public static System.Linq.IQueryable<TSource> Take<TSource>(this System.Linq.IQueryable<TSource> source, int count);
static member Take : System.Linq.IQueryable<'Source> * int -> System.Linq.IQueryable<'Source>
<Extension()>
Public Function Take(Of TSource) (source As IQueryable(Of TSource), count As Integer) As IQueryable(Of TSource)
Paramètres de type
- TSource
Type des éléments de source.
Paramètres
- source
- IQueryable<TSource>
Séquence à partir de laquelle retourner des éléments.
- count
- Int32
Nombre d’éléments à retourner.
Retours
Qui IQueryable<T> contient le nombre spécifié d’éléments à partir du début de source.
Exceptions
source a la valeur null.
Exemples
L’exemple de code suivant montre comment retourner Take<TSource>(IQueryable<TSource>, Int32) des éléments à partir du début d’une séquence.
int[] grades = { 59, 82, 70, 56, 92, 98, 85 };
// Sort the grades in descending order and take the first three.
IEnumerable<int> topThreeGrades =
grades.AsQueryable().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
*/
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}
' Sort the grades in descending order and take the first three.
Dim topThreeGrades = _
grades.AsQueryable().OrderByDescending(Function(grade) grade).Take(3)
Dim output As New System.Text.StringBuilder
output.AppendLine("The top three grades are:")
For Each grade As Integer In topThreeGrades
output.AppendLine(grade)
Next
' Display the output.
MsgBox(output.ToString())
' This code produces the following output:
' The top three grades are:
' 98
' 92
' 85
Remarques
La méthode Take<TSource>(IQueryable<TSource>, Int32) génère une MethodCallExpression qui représente l’appel de Take<TSource>(IQueryable<TSource>, Int32) elle-même en tant que méthode générique construite. Il transmet ensuite la MethodCallExpression à la méthode CreateQuery(Expression) de l'IQueryProvider représentée par la propriété Provider du paramètre source.
Le comportement de requête qui se produit suite à l’exécution d’une arborescence d’expressions qui représente l’appel de Take<TSource>(IQueryable<TSource>, Int32) dépend de l’implémentation du type du paramètre source. Le comportement attendu est qu’il prend les premiers count éléments à partir du début de source.