Verwenden von .Net Wie verwende ich die Sort-Methode, um ein Array rückwärts zu sortieren, d. H. Z zu A?Verwenden von .Net Wie verwende ich die Sort-Methode, um ein Array rückwärts zu sortieren, d. H. Z zu A?
5
A
Antwort
3
Sie müssen einen IComparer Objekt oder Comparison Delegaten an die Sortierfunktion übergeben.
Hier ist ein Beispielcode aus C# 2,0
Array.Sort(array,delegate(string a, string b)
{
return b.CompareTo(a);
});
EDIT: verpassten das Array Bit.
11
Stellen Sie einen geeigneten Elementvergleich bereit. Welche C# Version verwendest du? 3 können Sie dies tun:
Array.Sort(myarray, (a, b) => b.CompareTo(a));
1
Wenn Sie einen anderen Vergleich verwenden, ist das Gegenteil der Standard, die es tun würde.
Alternativ kann es normal sortiert und dann umgekehrt werden ...
Warum nicht einfach b.CompareTo (a) zurückgeben? –
Ja, das ist besser. –
Es gibt eigentlich zwei wichtige Unterschiede: 1) Was soll mit Null-Strings passieren? Wenn Sie Vergleiche rückgängig machen, wollen Sie oft nicht rückgängig machen, was mit Nullen passiert. Nur ein Gedanke. 2) Die Rückgabe von -a.CompareTo (b) (d. H. Vorbearbeitung) verursacht Probleme, wenn int.MinValue von a.CompareTo (b) zurückgegeben wird. –