2015-07-21 61 views
1

我想寫一個小程序,它會按字母順序給我第一個文件夾的名稱。測試它,我給它具有這些子文件夾的文件夾:列舉的目錄奇怪的順序

賽季4 季節5 季節6 季節7 賽季8 季節9 賽季10 賽季11

這是我希望我的程序返回的順序。但是,當我運行下面的代碼:

string x = ""; 
foreach (string dir in Directory.EnumerateDirectories(root)) 
{ 
     x += dir + Environment.NewLine; 
} 
MessageBox.Show(x); 

的輸出是下面的:

賽季10 賽季11 季節4 季節5 季節6 季節7 賽季8 第9季

如何讓我的程序從4開始到11? 在此先感謝,伊利亞

+1

您需要使用自然排序順序獲取並排序目錄名稱。看到我最近的答案在這裏:http://stackoverflow.com/a/31538443/106159 –

回答

1

您的返回數據是排序!
1在4之前,所以算法正確執行。如果你想在沒有更大定製的情況下獲得理想的結果,你應該重命名你的文件夾'season 04'等等。