Lassen Sie uns sagen, dass ich eine Liste von Dateien im Explorer nach Namen sortiert haben, etwa so:Wie würde ich eine Liste von Dateien nach Namen sortieren, damit sie dem Windows Explorer entsprechen?
2009-06-02-4.0.9.txt
2009-06-02-4.0.10.txt
2009-06-02-4.0.11.txt
2009-06-02-4.0.12.txt
ich habe ein Fileinfo Comparer, die ein Array von Fileinfo-Objekte nach Namen sortiert:
class FileInfoComparer : IComparer<FileInfo> {
public int Compare(FileInfo x, FileInfo y) {
return string.Compare(x.FullName,
y.FullName,
StringComparison.OrdinalIgnoreCase);
}
}
Sortieren der gleichen Liste von Dateien von oben mit diesem Comparer Ausbeute:
2009-06-02-4.0.10.txt
2009-06-02-4.0.11.txt
2009-06-02-4.0.12.txt
2009-06-02 -4.0.9.txt
was problematisch ist, da die Reihenfolge extrem wichtig ist.
Ich würde mir vorstellen, dass es eine Möglichkeit gibt, nachzuahmen, was Windows in C# -Code tut, aber ich muss noch einen Weg finden. Jede Hilfe wird geschätzt!
Danke!
möglich Duplikat von [Natürliche Sortierreihenfolge in C#] (http://StackOverflow.com/Questions/248603/Natural-Sort-Order-in-C-Sharp) –