Queryable.OrderBy 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.
Trie les éléments d’une séquence dans l’ordre croissant.
Surcharges
| Nom | Description |
|---|---|
| OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) |
Trie les éléments d’une séquence dans l’ordre croissant en fonction d’une clé. |
| OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) |
Trie les éléments d’une séquence dans l’ordre croissant à l’aide d’un comparateur spécifié. |
OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Trie les éléments d’une séquence dans l’ordre croissant en fonction d’une clé.
public:
generic <typename TSource, typename TKey>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IOrderedQueryable<TSource> ^ OrderBy(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, TKey> ^> ^ keySelector);
public static System.Linq.IOrderedQueryable<TSource> OrderBy<TSource,TKey>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static System.Linq.IOrderedQueryable<TSource> OrderBy<TSource,TKey>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector);
static member OrderBy : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Key>> -> System.Linq.IOrderedQueryable<'Source>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member OrderBy : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Key>> -> System.Linq.IOrderedQueryable<'Source>
<Extension()>
Public Function OrderBy(Of TSource, TKey) (source As IQueryable(Of TSource), keySelector As Expression(Of Func(Of TSource, TKey))) As IOrderedQueryable(Of TSource)
Paramètres de type
- TSource
Type des éléments de source.
- TKey
Type de la clé retournée par la fonction représentée par keySelector.
Paramètres
- source
- IQueryable<TSource>
Séquence de valeurs à classer.
- keySelector
- Expression<Func<TSource,TKey>>
Fonction permettant d’extraire une clé d’un élément.
Retours
Dont IOrderedQueryable<T> les éléments sont triés en fonction d’une clé.
- Attributs
Exceptions
source ou keySelector est null.
Exemples
L’exemple de code suivant montre comment utiliser OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) pour trier les éléments d’une séquence.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void OrderByEx1()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
// Sort the Pet objects in the array by Pet.Age.
IEnumerable<Pet> query =
pets.AsQueryable().OrderBy(pet => pet.Age);
foreach (Pet pet in query)
Console.WriteLine("{0} - {1}", pet.Name, pet.Age);
}
/*
This code produces the following output:
Whiskers - 1
Boots - 4
Barley - 8
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Shared Sub OrderByEx1()
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8}, _
New Pet With {.Name = "Boots", .Age = 4}, _
New Pet With {.Name = "Whiskers", .Age = 1}}
' Sort the Pet objects in the array by Pet.Age.
Dim query As IEnumerable(Of Pet) = _
pets.AsQueryable().OrderBy(Function(pet) pet.Age)
Dim output As New System.Text.StringBuilder
For Each pet As Pet In query
output.AppendLine(String.Format("{0} - {1}", pet.Name, pet.Age))
Next
' Display the output.
MsgBox(output.ToString())
End Sub
' This code produces the following output:
' Whiskers - 1
' Boots - 4
' Barley - 8
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 à un Expression<TDelegate>.
La OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) méthode génère un qui représente l’appel MethodCallExpressionOrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) lui-même en tant que méthode générique construite. Il passe ensuite la MethodCallExpressionCreateQuery<TElement>(Expression) méthode de l’objet IQueryProvider représenté par la Provider propriété du source paramètre. Le résultat de l’appel CreateQuery<TElement>(Expression) est casté en type IOrderedQueryable<T> et retourné.
Le comportement de requête qui se produit suite à l’exécution d’une arborescence d’expressions qui représente l’appel OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>) dépend de l’implémentation du type du source paramètre. Le comportement attendu est qu’il trie les éléments de source la clé obtenue en appelant keySelector chaque élément de source.
S’applique à
OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Trie les é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> ^ OrderBy(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, TKey> ^> ^ keySelector, System::Collections::Generic::IComparer<TKey> ^ comparer);
public static System.Linq.IOrderedQueryable<TSource> OrderBy<TSource,TKey>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector, System.Collections.Generic.IComparer<TKey> comparer);
public static System.Linq.IOrderedQueryable<TSource> OrderBy<TSource,TKey>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector, System.Collections.Generic.IComparer<TKey>? comparer);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static System.Linq.IOrderedQueryable<TSource> OrderBy<TSource,TKey>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TKey>> keySelector, System.Collections.Generic.IComparer<TKey>? comparer);
static member OrderBy : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Key>> * System.Collections.Generic.IComparer<'Key> -> System.Linq.IOrderedQueryable<'Source>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member OrderBy : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Key>> * System.Collections.Generic.IComparer<'Key> -> System.Linq.IOrderedQueryable<'Source>
<Extension()>
Public Function OrderBy(Of TSource, TKey) (source As IQueryable(Of TSource), keySelector As Expression(Of Func(Of TSource, TKey)), comparer As IComparer(Of TKey)) As IOrderedQueryable(Of TSource)
Paramètres de type
- TSource
Type des éléments de source.
- TKey
Type de la clé retournée par la fonction représentée par keySelector.
Paramètres
- source
- IQueryable<TSource>
Séquence de valeurs à classer.
- keySelector
- Expression<Func<TSource,TKey>>
Fonction permettant d’extraire une clé d’un élément.
- comparer
- IComparer<TKey>
Pour IComparer<T> comparer les clés.
Retours
Dont IOrderedQueryable<T> les éléments sont triés en fonction d’une clé.
- Attributs
Exceptions
source
comparer ou keySelector est 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 à un Expression<TDelegate>.
La OrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) méthode génère un qui représente l’appel MethodCallExpressionOrderBy<TSource,TKey>(IQueryable<TSource>, Expression<Func<TSource,TKey>>, IComparer<TKey>) lui-même en tant que méthode générique construite. Il passe ensuite la MethodCallExpressionCreateQuery<TElement>(Expression) méthode de l’objet IQueryProvider représenté par la Provider propriété du source paramètre. Le résultat de l’appel CreateQuery<TElement>(Expression) est casté en type IOrderedQueryable<T> et retourné.
Le comportement de requête qui se produit suite à l’exécution d’une arborescence d’expressions qui représente l’appel OrderBy<TSource,TKey>(IQueryable<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 trie les éléments de source la clé obtenue en appelant keySelector chaque élément de source. Le comparer paramètre est utilisé pour comparer les clés.