Maison >développement back-end >C++ >Comment implémenter la commande dynamique LINQ pour `` ienumerable 'et «ienumerable»?
/ Le tri dynamique linq IEnumerable<T>
IQueryable<T>
IEnumerable<T>
Bien que le LINQ dynamique fournit une syntaxe pratique pour le tri , les fonctions similaires ne sont pas directement applicables à
, IQueryable<T>
, IEnumerable<T>
et IEnumerable<T>
fonction: OrderBy
OrderByDescending
ThenBy
Utiliser ThenByDescending
<code class="language-csharp">public static IOrderedQueryable<T> OrderBy<T>( this IQueryable<T> source, string property) { return ApplyOrder<T>(source, property, "OrderBy"); } public static IOrderedQueryable<T> OrderByDescending<T>( this IQueryable<T> source, string property) { return ApplyOrder<T>(source, property, "OrderByDescending"); } public static IOrderedQueryable<T> ThenBy<T>( this IOrderedQueryable<T> source, string property) { return ApplyOrder<T>(source, property, "ThenBy"); } public static IOrderedQueryable<T> ThenByDescending<T>( this IOrderedQueryable<T> source, string property) { return ApplyOrder<T>(source, property, "ThenByDescending"); } static IOrderedQueryable<T> ApplyOrder<T>( IQueryable<T> source, string property, string methodName) { // 为简洁起见,省略实现 }</code>
Pour utiliser ces extensions avec , vous pouvez utiliser la méthode d'extension IEnumerable<T>
pour la convertir en :
IEnumerable<T>
Utiliser AsQueryable
Tri dynamique IQueryable
<code class="language-csharp">IEnumerable<T> items = ...; IQueryable<T> queryableItems = items.AsQueryable(); var orderedItems = queryableItems.OrderBy("Property");</code>En plus de la méthode de tri de base, vous pouvez également utiliser le tri dynamique
pour étendre davantage la fonction. Ceci est un exemple:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!