So sortieren Sie eine Liste nach Feld

8

Guten Tag 4 all

Ich habe eine Liste von Objekten

Meine Objekte mögen

%Vor%

Und ich füge jedes Objekt in meinen Test ein, so wie es aussieht

%Vor%

Und jetzt muss ich MyList nach der Kategorie

sortieren / bestellen

Da ich meine Liste zuerst die SmartPhone-Kategorie anzeigen muss, dann

    
AshOoO 24.10.2011, 09:03
quelle

3 Antworten

16

Sie können List.Sort

verwenden %Vor%

Der Vorteil gegenüber dem LINQ OrderBy besteht darin, dass Sie die Liste direkt anordnen anstatt eine IOrderedEnumerable<T> zu generieren, die Sie dann in List<T> umwandeln müssen.

    
xanatos 24.10.2011, 09:06
quelle
13

Überprüfen Sie die LINQ OrderBy-Erweiterungsmethode.

%Vor%

Wenn Sie eine komplexere Methode zum Sortieren der Kategorien benötigen, können Sie eine Klasse erstellen, die die IComparer-Schnittstelle implementiert und Ihre Sortierlogik darin implementiert.

%Vor%

Sie können es tun, ohne LINQ zu verwenden:

%Vor%

Oder mit LINQ:

%Vor%     
Frederik Gheysels 24.10.2011 09:04
quelle
4

Sie können die Methode Sort und einen benutzerdefinierten Vergleich verwenden, um nach Kategorie (absteigend) und dann nach Produkt (aufsteigend) zu sortieren:

%Vor%

Wenn Sie Smartphones auswählen und dann aufsteigend sortieren möchten:

%Vor%     
Guffa 24.10.2011 09:10
quelle

Tags und Links