Forums Neueste Beiträge
 

List mit IComparer und mehreren Sortierkriterien

18/05/2010 - 18:16 von Peter Gast | Report spam
Hallo
ich möchte eine List(Of Kunde) nach mehreren Sortierkriterien sortieren. Zum
Beispiel Ort und dann nach Strasse. Mit einem Kriterium klappt es. Hat
jemand ein Beispiel für 2 oder mehr Kriterien?


Public Class Kunde
Public Name As String = ""
Public Ort As String = ""
Public Strasse As String = ""
End Class

Public Class KundeVergleicher
Implements System.Collections.Generic.IComparer(Of Kunde)

End Class


Danke Peter
 

Lesen sie die antworten

#1 Armin Zingler
18/05/2010 - 19:10 | Warnen spam
Am 18.05.2010 18:16, schrieb Peter Gast:
Hallo
ich möchte eine List(Of Kunde) nach mehreren Sortierkriterien sortieren. Zum
Beispiel Ort und dann nach Strasse. Mit einem Kriterium klappt es. Hat
jemand ein Beispiel für 2 oder mehr Kriterien?


Public Class Kunde
Public Name As String = ""
Public Ort As String = ""
Public Strasse As String = ""
End Class

Public Class KundeVergleicher
Implements System.Collections.Generic.IComparer(Of Kunde)

End Class



Entweder du machst mehrere Comparer(-Klassen) oder du parameterisierst
die eine Klasse, z.B. indem du dem Konstruktor das Vergleichskriterium
übergibst. Performant ist letzteres aber nicht gerade weil bei
jedem Vergleich ein Select Case Kriterium gefahren wird. Optimierbar
ist das, indem du im ctor ein Delegate für die Vergleichsfunktion
erstellst und in der Compare-Methode nur noch das Delegate aufrufst.


Armin

Ähnliche fragen