Queryable.ThenBy 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.
Réalise un classement des éléments d'une séquence dans l'ordre croissant.
Surcharges
ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) |
Réalise un classement des éléments d'une séquence dans l'ordre croissant selon une clé. |
ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) |
Réalise un classement des éléments d'une séquence dans l'ordre croissant à l'aide d'un comparateur spécifié. |
ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>)
Réalise un classement des éléments d'une séquence dans l'ordre croissant selon une clé.
public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IOrderedQueryable<TSource> ^ ThenBy(System::Linq::IOrderedQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, TKey> ^> ^ keySelector);
public static System.Linq.IOrderedQueryable<TSource> ThenBy<TSource,TKey> (this System.Linq.IOrderedQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector);
static member ThenBy : System.Linq.IOrderedQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Key>> -> System.Linq.IOrderedQueryable<'Source>
<Extension()>
Public Function ThenBy(Of TSource, TKey) (source As IOrderedQueryable(Of TSource), keySelector As Expression(Of Func(Of TSource, TKey))) As IOrderedQueryable(Of TSource)
Paramètres de type
- TSource
Le type des éléments de source
.
- TKey
Type de la clé retournée par la fonction représentée par keySelector
.
Paramètres
- source
- IOrderedQueryable<TSource>
IOrderedQueryable<T> qui contient les éléments à trier.
- keySelector
- Expression<Func<TSource,TKey>>
Fonction permettant d'extraire une clé de chaque élément.
Retours
- IOrderedQueryable<TSource>
IOrderedQueryable<T> dont les éléments sont triés selon une clé.
Exceptions
source
ou keySelector
est null
.
Exemples
L’exemple de code suivant montre comment utiliser ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) pour effectuer un ordre secondaire des éléments dans une séquence.
string[] fruits = { "grape", "passionfruit", "banana", "apple",
"orange", "raspberry", "mango", "blueberry" };
// Sort the strings first by their length and then
// alphabetically by passing the identity selector function.
IEnumerable<string> query =
fruits.AsQueryable()
.OrderBy(fruit => fruit.Length).ThenBy(fruit => fruit);
foreach (string fruit in query)
Console.WriteLine(fruit);
/*
This code produces the following output:
apple
grape
mango
banana
orange
blueberry
raspberry
passionfruit
*/
Dim fruits() As String = _
{"grape", "passionfruit", "banana", "mango", _
"orange", "raspberry", "apple", "blueberry"}
' Sort the strings first by their length and then
' alphabetically by passing the identity selector function.
Dim query = fruits.AsQueryable() _
.OrderBy(Function(fruit) fruit.Length).ThenBy(Function(fruit) fruit)
' Display the results.
Dim output As New System.Text.StringBuilder
For Each fruit As String In query
output.AppendLine(fruit)
Next
MsgBox(output.ToString())
'This code produces the following output:
'apple
'grape
'mango
'banana
'orange
'blueberry
'raspberry
'passionfruit
Remarques
Cette méthode a au moins un paramètre de type Expression<TDelegate> dont l’argument de type est l’un des Func<T,TResult> types. Pour ces paramètres, vous pouvez passer une expression lambda et elle sera compilée sur un Expression<TDelegate>.
La ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) méthode génère un qui représente l’appel MethodCallExpression ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) d’une méthode générique construite. Il passe ensuite la MethodCallExpression CreateQuery<TElement>(Expression) méthode de l’élément IQueryProvider représenté par la Provider propriété du source
paramètre. Le résultat de l’appel CreateQuery<TElement>(Expression) est converti en type IOrderedQueryable<T> et retourné.
Le comportement de requête qui se produit en raison de l’exécution d’une arborescence d’expressions qui représente l’appel ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) dépend de l’implémentation du type du source
paramètre. Le comportement attendu est qu’il effectue un tri secondaire des éléments de source
base sur la clé obtenue en appelant keySelector
chaque élément de source
. Tous les ordres de tri précédemment établis sont conservés.
S’applique à
ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>)
Réalise un classement des éléments d'une séquence dans l'ordre croissant à l'aide d'un comparateur spécifié.
public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IOrderedQueryable<TSource> ^ ThenBy(System::Linq::IOrderedQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, TKey> ^> ^ keySelector, System::Collections::Generic::IComparer<TKey> ^ comparer);
public static System.Linq.IOrderedQueryable<TSource> ThenBy<TSource,TKey> (this System.Linq.IOrderedQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector, System.Collections.Generic.IComparer<TKey> comparer);
public static System.Linq.IOrderedQueryable<TSource> ThenBy<TSource,TKey> (this System.Linq.IOrderedQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector, System.Collections.Generic.IComparer<TKey>? comparer);
static member ThenBy : System.Linq.IOrderedQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Key>> * System.Collections.Generic.IComparer<'Key> -> System.Linq.IOrderedQueryable<'Source>
<Extension()>
Public Function ThenBy(Of TSource, TKey) (source As IOrderedQueryable(Of TSource), keySelector As Expression(Of Func(Of TSource, TKey)), comparer As IComparer(Of TKey)) As IOrderedQueryable(Of TSource)
Paramètres de type
- TSource
Le type des éléments de source
.
- TKey
Type de la clé retournée par la fonction représentée par keySelector
.
Paramètres
- source
- IOrderedQueryable<TSource>
IOrderedQueryable<T> qui contient les éléments à trier.
- keySelector
- Expression<Func<TSource,TKey>>
Fonction permettant d'extraire une clé de chaque élément.
- comparer
- IComparer<TKey>
IComparer<T> pour comparer les clés.
Retours
- IOrderedQueryable<TSource>
IOrderedQueryable<T> dont les éléments sont triés selon une clé.
Exceptions
source
ou keySelector
ou comparer
a la valeur null
.
Remarques
Cette méthode a au moins un paramètre de type Expression<TDelegate> dont l’argument de type est l’un des Func<T,TResult> types. Pour ces paramètres, vous pouvez passer une expression lambda et elle sera compilée sur un Expression<TDelegate>.
La ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) méthode génère un qui représente l’appel MethodCallExpression ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) d’une méthode générique construite. Il passe ensuite la MethodCallExpression CreateQuery<TElement>(Expression) méthode de l’élément IQueryProvider représenté par la Provider propriété du source
paramètre. Le résultat de l’appel CreateQuery<TElement>(Expression) est converti en type IOrderedQueryable<T> et retourné.
Le comportement de requête qui se produit en raison de l’exécution d’une arborescence d’expressions qui représente l’appel ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) dépend de l’implémentation du type du source
paramètre. Le comportement attendu est qu’il effectue un tri secondaire des éléments de source
base sur la clé obtenue en appelant keySelector
chaque élément de source
. Tous les ordres de tri précédemment établis sont conservés. Le comparer
paramètre est utilisé pour comparer les valeurs de clé.