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.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

6 Tagen ago

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

6 Tagen ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

7 Tagen ago

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

7 Tagen ago

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

1 Woche ago

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

1 Woche ago