Queryable.ThenBy Méthode

Définition

Réalise un classement des éléments d'une séquence dans l'ordre croissant.Performs a subsequent ordering of the elements in a sequence in ascending order.

Surcharges

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é.Performs a subsequent ordering of the elements in a sequence in ascending order by using a specified comparer.

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é.Performs a subsequent ordering of the elements in a sequence in ascending order according to a key.

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é.Performs a subsequent ordering of the elements in a sequence in ascending order by using a specified comparer.

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);
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.The type of the elements of source.

TKey

Type de la clé retournée par la fonction représentée par keySelector.The type of the key returned by the function represented by keySelector.

Paramètres

source
IOrderedQueryable<TSource>

IOrderedQueryable<T> qui contient les éléments à trier.An IOrderedQueryable<T> that contains elements to sort.

keySelector
Expression<Func<TSource,TKey>>

Fonction permettant d'extraire une clé de chaque élément.A function to extract a key from each element.

comparer
IComparer<TKey>

IComparer<T> pour comparer les clés.An IComparer<T> to compare keys.

Retours

IOrderedQueryable<T> dont les éléments sont triés selon une clé.An IOrderedQueryable<T> whose elements are sorted according to a key.

Exceptions

source ou keySelector ou comparer a la valeur null.source or keySelector or comparer is null.

Remarques

Cette méthode a au moins un paramètre de type Expression<TDelegate> dont l' Func<T,TResult> argument de type est l’un des types.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Pour ces paramètres, vous pouvez passer une expression lambda et elle sera compilée dans un Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

La ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) méthode génère un MethodCallExpression qui représente l' ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) appel de lui-même comme une méthode générique construite.The ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) method generates a MethodCallExpression that represents calling ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) itself as a constructed generic method. Il MethodCallExpression passe ensuite à la IQueryProvider CreateQuery<TElement>(Expression) méthode de représenté par la Provider propriété du source paramètre.It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter. Le résultat de l' CreateQuery<TElement>(Expression) appel de est casté en type IOrderedQueryable<T> et retourné.The result of calling CreateQuery<TElement>(Expression) is cast to type IOrderedQueryable<T> and returned.

Le comportement de la requête qui se produit suite à l’exécution d’une arborescence d’expressions ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) qui représente l’appel de dépend de l’implémentation source du type du paramètre.The query behavior that occurs as a result of executing an expression tree that represents calling ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) depends on the implementation of the type of the source parameter. Le comportement attendu est qu’il effectue un tri secondaire des éléments de source en fonction de la clé obtenue en appelant keySelector sur chaque élément de source.The expected behavior is that it performs a secondary sort of the elements of source based on the key obtained by invoking keySelector on each element of source. Tous les ordres de tri précédemment établis sont conservés.All previously established sort orders are preserved. Le comparer paramètre est utilisé pour comparer les valeurs de clés.The comparer parameter is used to compare key values.

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é.Performs a subsequent ordering of the elements in a sequence in ascending order according to a key.

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.The type of the elements of source.

TKey

Type de la clé retournée par la fonction représentée par keySelector.The type of the key returned by the function represented by keySelector.

Paramètres

source
IOrderedQueryable<TSource>

IOrderedQueryable<T> qui contient les éléments à trier.An IOrderedQueryable<T> that contains elements to sort.

keySelector
Expression<Func<TSource,TKey>>

Fonction permettant d'extraire une clé de chaque élément.A function to extract a key from each element.

Retours

IOrderedQueryable<T> dont les éléments sont triés selon une clé.An IOrderedQueryable<T> whose elements are sorted according to a key.

Exceptions

source ou keySelector est null.source or keySelector is null.

Exemples

L’exemple de code suivant montre comment utiliser ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) pour effectuer un classement secondaire des éléments d’une séquence.The following code example demonstrates how to use ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) to perform a secondary ordering of the elements in a sequence.

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' Func<T,TResult> argument de type est l’un des types.This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. Pour ces paramètres, vous pouvez passer une expression lambda et elle sera compilée dans un Expression<TDelegate>.For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

La ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) méthode génère un MethodCallExpression qui représente l' ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) appel de lui-même comme une méthode générique construite.The ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) method generates a MethodCallExpression that represents calling ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) itself as a constructed generic method. Il MethodCallExpression passe ensuite à la IQueryProvider CreateQuery<TElement>(Expression) méthode de représenté par la Provider propriété du source paramètre.It then passes the MethodCallExpression to the CreateQuery<TElement>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter. Le résultat de l' CreateQuery<TElement>(Expression) appel de est casté en type IOrderedQueryable<T> et retourné.The result of calling CreateQuery<TElement>(Expression) is cast to type IOrderedQueryable<T> and returned.

Le comportement de la requête qui se produit suite à l’exécution d’une arborescence d’expressions ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) qui représente l’appel de dépend de l’implémentation source du type du paramètre.The query behavior that occurs as a result of executing an expression tree that represents calling ThenBy<TSource,TKey>(IOrderedQueryable<TSource>, Expression<Func<TSource,TKey>>) depends on the implementation of the type of the source parameter. Le comportement attendu est qu’il effectue un tri secondaire des éléments de source en fonction de la clé obtenue en appelant keySelector sur chaque élément de source.The expected behavior is that it performs a secondary sort of the elements of source based on the key obtained by invoking keySelector on each element of source. Tous les ordres de tri précédemment établis sont conservés.All previously established sort orders are preserved.

S’applique à