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.
Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.
Sein Anteil an allen Infektionen steigt in Deutschland auf 18,5 Prozent. Das Botnet Androxgh0st integriert…
Betroffen sind Chrome 131 und früher für Windows, macOS und Linux. Angreifer können unter Umständen…
Marktforscher Lündendonk erwartet für das Jahr 2025 ein durchschnittliches Umsatzwachstum von 14,9 Prozent.
Alarmierender Anstieg von Open-Source-Malware / Seit 2019 haben Sonatype-Analysen mehr als 778.500 bösartige Pakete aufgedeckt
Das KI-Werkzeug "BAIOSPHERE KI-KOMPASS" soll Unternehmen den Einstieg in KI erleichtern.