Heim > Backend-Entwicklung > C++ > So implementieren Sie die dynamische Linq -Bestellung für 'iEnumerable' und 'iEnumerable'?

So implementieren Sie die dynamische Linq -Bestellung für 'iEnumerable' und 'iEnumerable'?

Susan Sarandon
Freigeben: 2025-02-02 22:36:12
Original
110 Leute haben es durchsucht

How to Implement Dynamic LINQ Ordering for `IEnumerable` and `IEnumerable`?

/ Die dynamische Linq -Sortierung IEnumerable<T> IQueryable<T>

Expansionsmethode

IEnumerable<T> Obwohl der dynamische linq eine bequeme Syntax für sortieren, sind ähnliche Funktionen nicht direkt auf

anwendbar. Um dieses Problem zu lösen, können Sie die folgenden Erweiterungsmethoden verwenden, um

, IQueryable<T>, IEnumerable<T> und IEnumerable<T> Funktion hinzuzufügen: OrderBy OrderByDescending ThenBy Verwenden Sie ThenByDescending

zusammen mit
<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>
Nach dem Login kopieren

Um diese Erweiterungen mit zu verwenden IEnumerable<T> Verwenden Sie

dynamische Sortierung

IEnumerable<T> AsQueryable Zusätzlich zur grundlegenden Sortiermethode können Sie auch IQueryable dynamische Sortierung verwenden, um die Funktion weiter zu erweitern. Dies ist ein Beispiel:

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die dynamische Linq -Bestellung für 'iEnumerable' und 'iEnumerable'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage