Sortiere eine Liste so, dass ein bestimmter Wert oben steht

7

Ich habe eine Klasse Offer , die eine abgelegte Kategorie enthält.

Ich möchte, dass alle Angebote einer bestimmten Kategorie oben angezeigt werden, gefolgt von allem anderen.

Ich habe das versucht, aber ohne Erfolg, was würdest du empfehlen?

%Vor%     
Wesley 08.12.2011, 19:58
quelle

2 Antworten

21

Wenn Sie nach einem booleschen Wert sortieren, kommt false (0) vor true (1). Um die Elemente zu erhalten, die mit dem Prädikat übereinstimmen, müssen Sie die Sortierreihenfolge mit OrderByDescending :

umkehren %Vor%     
Mark Byers 08.12.2011, 20:01
quelle
10

Die C # -Sprachspezifikation 5.0 spezifiziert keine Byte-Darstellung für die true und false Werte. Daher ist es besser, sich nicht auf die Annahme zu verlassen, dass true durch 1 repräsentiert wird. Auch das Ergebnis der Sortierung nach dem Booleschen Ausdruck x.Category == "Corporate" ist nicht offensichtlich, da true auch durch einen negativen Wert dargestellt werden könnte. Daher verwende ich einen ternären Operator, um explizit einen Sortierwert anzugeben:

%Vor%     
Olivier Jacot-Descombes 08.12.2011 20:18
quelle

Tags und Links