我有包含了像排序是不正確的格式
1.Script_DBScript_03122014
我想排序這個數組,所以我寫了下面的代碼文件名的String數組:
Array.Sort(SQLScripts);
但數組排序產生這樣的:
1.Script_DBScript(otherdetails)_03122014
10.Script_DBScript(otherdetails)_03122014
11.Script_DBScript(otherdetails)_03122014
12.Script_DBScript(otherdetails)_03122014
...
2.Script_DBScript(otherdetails)_03122014
20.Script_DBScript(otherdetails)_03122014
21.Script_DBScript(otherdetails)_03122014
22.Script_DBScript(otherdetails)_03122014
... so on
我怎樣才能在陣列中以下形式
1.Script_DBScript(otherdetails)_03122014
2.Script_DBScript(otherdetails)_03122014
3.Script_DBScript(otherdetails)_03122014
4.Script_DBScript(otherdetails)_03122014
5.Script_DBScript(otherdetails)_03122014
...
50.Script_DBScript(otherdetails)_03122014
編輯: 代碼從目錄中檢索文件名:你得到
String[] SQLScripts = Directory.GetFiles(txtPath.Text, "*.sql");
默認情況下,字符串按字母順序排序。這通常通過調整文件名來解決,例如, '0001.Script_DBScript_03122014'。這也是爲什麼一些文件名使用YYYYMMDD這樣的日期格式,即2014年3月13日的20140313,或同一天的2:57:01 PM的20140313_145701。 – Peter
[自然排序順序在C#](http://stackoverflow.com/questions/248603/natural-sort-order-in-c-sharp) – Oliver
可能重複的一些實現看看[排序爲人類:自然排序順序](http://blog.codinghorror.com/sorting-for-humans-natural-sort-order/) – Oliver