Sie sollten nicht String-Darstellungen von Daten verwenden - wir alle leben in der objektorientierten Welt sind :)
Der beste Weg, diese Strings in tatsächliche Datetime-Objekte und sortieren sie in umgekehrter Reihenfolge über Linq zu konvertieren wäre :
var dates = Array.ConvertAll(dateStrings, x => DateTime.Parse(x));
return dates.OrderByDesc(x => x);
Eine weitere Möglichkeit, benutzerdefinierte Sortierfunktion zu implementieren, siehe this link wäre. Dann würden Sie es einfach in einer Sortierfunktion verwenden:
DateAsStringComparer myComparer = new DateAsStringComparer();
dateStrings.Sort(myComparer);
Wie sieht es mit einer ungültigen Datetime-Zeichenfolge aus? Gibt es eine Möglichkeit, diese ungültige Datetime mit einer bestimmten Zeichenfolge zu ändern? –