Laden...

IComparable -> richtig für meine Anwendung?

Erstellt von eltir vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.024 Views
E
eltir Themenstarter:in
87 Beiträge seit 2004
vor 10 Jahren
IComparable -> richtig für meine Anwendung?

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

2.207 Beiträge seit 2011
vor 10 Jahren

Hallo eltir,

Linq ist eine Möglichkeit:


.OrderBy (c => c.Datum).ThenBy (c => c.Wert1).ThenBy(...)

Gruss

Coffeebean

N
135 Beiträge seit 2006
vor 10 Jahren

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.