verwendetes Datenbanksystem: <MS SQL 2005>
Hallo Leute!
Ich möchte folgende Daten die ich aus MS SQL 2005 erhalte wie folgt sortieren:
Daten:
ID|Datum|Wert1|Wert2|Wert3
1 |14.4. | a |1 |a1
2 |14.4. | b |1 |b1
3 |14.4. | a |1 |b2
4 |15.4. | c |2 |a1
5 |15.4. | c |1 |b1
Die Sortierung sollte so aussehen:
ID|Datum|Wert1|Wert2|Wert3
1 |14.4. | a |1 |a1
3 |14.4. | a |1 |b2
2 |14.4. | a |1 |b2
5 |15.4. | c |1 |b1
4 |15.4. | c |2 |a1
Grundsätzlich soll die Liste nach Datum sortiert sein. Danach nach Wert 1, Wert2 und Wert 3!
Ist hier IComparable richtig? Oder welche einfachen Möglichkeiten seht ihr hier?
DANKE
Hallo eltir,
Linq ist eine Möglichkeit:
.OrderBy (c => c.Datum).ThenBy (c => c.Wert1).ThenBy(...)
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Hallo,
Du könntest die Datenbankabfrage bereits so gestallten das das gewünschte Ergebnis geliefert wird.
Wenn Du die Sortierung im Programmcode nur an einer Stelle nutzt kannst Du den Vorschlag von Coffeebean nutzen.
Wird die Sortierung an vielen unterschiedlichen Stellen und ggf. sogar Klassen verwendet, ist ein IComparer sicher sinnvoller.