→ Nilife: 你確定資料夾是按名稱排序嗎? 08/10 17:40
→ Nilife: 這種需求應該是要先切文字,轉數字,再遞增排序 08/10 17:42
→ Nilife: 或是從別的條件比如最後寫入時間 08/10 17:42
推 DeathTemp: 把抓到的每個檔名前面補零補滿到跟最長檔名一樣長 08/10 18:04
→ DeathTemp: 之後再開始排序 08/10 18:04
https://0rz.tw/6yMbt
資料夾上 12/1 是顯示第一個! 可是我開頭就是顯示12/10。
所以很好奇要怎樣才能用得像資料夾那樣排序。
tempFile = Directory.GetFiles(DirectoryPath);
我是這樣子取得資料夾所有檔案的。
※ 編輯: ChenRobert (1.34.193.134 臺灣), 08/10/2020 21:01:51
→ kobe8112: 自己依照需求排完再放到listbox上吧 08/10 22:38
推 Litfal: Windows檔案總管排序有做特別處理,建議自己寫算法排,或 08/11 19:53
→ Litfal: www.pinvoke.net/default.aspx/shlwapi.strcmplogicalw 08/11 19:56
→ Litfal: 用這個排,只是pinvoke對你來說可能不會比較簡單 08/11 19:57
→ name2name2: 自己寫算法可以例如List物件的類加一個屬性 08/12 20:50
→ name2name2: 那個屬性把原本的檔名去掉txt的日期文字轉成DateTime 08/12 20:51
→ name2name2: DateTime屬性就可以用OrderBy了 08/12 20:52
→ name2name2: 或者直接在OrderBy的時候轉換例如 08/12 20:53
→ name2name2: listSource.OrderBy(obj => Convert.ToDateTime(obj.F 08/12 20:54
→ name2name2: ileName.Repalce(".txt","")); 08/12 20:55
→ awwseed: orderby ascii 看看? 08/12 21:55
→ ChenRobert: 感謝,處理好了 08/12 22:02
→ ChenRobert: pinvoke好用 08/12 22:02