比方說,我已經按名稱排序的文件列表在資源管理器,像這樣:如何按名稱對文件列表進行排序以匹配Windows資源管理器顯示它們的方式?
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
我有一個FileInfo的Comparer通過名字排序的FileInfo對象的數組:
class FileInfoComparer : IComparer<FileInfo> {
public int Compare(FileInfo x, FileInfo y) {
return string.Compare(x.FullName,
y.FullName,
StringComparison.OrdinalIgnoreCase);
}
}
使用此Comparer對上面相同的文件列表進行排序產量:
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
這是個問題,因爲順序是非常重要的。
我會想象有辦法模仿什麼的Windows在C#代碼是幹什麼的,但我還沒有找到一種方法。任何幫助表示讚賞!
謝謝!
[C#中自然排序]的可能重複(http://stackoverflow.com/questions/248603/natural-sort-order-in-c-sharp) – 2013-05-18 10:35:17