Methoden zum Sortieren von Arrays in .Net

Die einfache Sort-Methode ist zwar recht vielseitig, kann aber nicht verwendet werden, um ein Array mit beliebigen Datentypen automatisch zu sortieren. Schließlich kann kaum erwartet werden, dass die .NET-Plattform sich mit allen denkbaren Objekten auskennt. Es ist aber möglich, selbst zu bestimmen, wie beliebige Objekte sortiert werden sollen, indem die Schnittstellen IComparer oder IComparable verwendet werden.

Mit diesen Schnittstellen kann man eine Methode zum Vergleich von Objektinstanzen zu Sortierzwecken bereitstellen. Der Hauptunterschied zwischen den beiden Schnittstellen besteht darin, dass man bei IComparable die Vergleichsmethode innerhalb der Klasse bereitstellen muss, welche die Schnittstelle verwendet. Bei der IComparer-Schnittstelle befindet sich diese Methode außerhalb der Klasse. Die Einzelheiten zu diesen beiden Schnittstellen würden den Rahmen dieses Artikels sprengen. Im Folgenden soll die IComparable-Schnittstelle zum Sortieren eines Arrays mit eigenen Objekten verwendet werden.

Im nächsten Beispiel wird die IComparable-Schnittstelle zur Angabe der Sortierlogik für die Klasse verwendet. Es wird eine Klasse namens Person erstellt (siehe Code). Man beachte, dass sie die IComparable-Schnittstelle verwendet und die Methode CompareTo zum Durchführen der Vergleiche beim Sortieren.


Diese Klasse wird im nächsten Beispiel verwendet, wo ein Array aus Person-Objekten erstellt wird. Der Schlüssel für die Person-Klasse ist die Methode CompareTo (von der IComparable-Schnittstelle verlangt), die beim Sortieren verwendet wird. Diese vergleicht das übergebene Objekt mit sich selbst.

Als Nächstes wird die Sort-Methode für das Array aufgerufen, wobei der Sortiermechanismus der Person-Klasse verwendet wird, so dass die Einträge nach der Vornamen-Eigenschaft (fname) für jedes Objekt im Array sortiert werden. Das nächste Codebeispiel zeigt, wie das Person-Objekt verwendet und sortiert wird:


Und hier der entsprechende VB.NET-Code, bei dem zuerst die Klasse Person aufgeführt ist.


Vielfältige Optionen

Egal, mit welchen Daten man es zu tun hat, irgendwann wird man sie sortieren wollen oder müssen. Denn die meisten Benutzer wünschen sich die Daten in einer logischen Reihenfolge. Die Array-Klasse in .NET bietet mit der Methode Sort eine einfache Möglichkeit zum Sortieren des Inhalts eines Arrays, entweder direkt über die Werte oder mithilfe eines separaten Arrays mit Schlüsselwerten. Außerdem kann man weitere .NET-Funktionen wie die IComparable-Schnittstelle nutzen, um eigene Sortierroutinen zu implementieren.

Themenseiten: .NET, Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Methoden zum Sortieren von Arrays in .Net

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *