1、问题背景:
有时需要对输出的文件列表进行排序,如直接使用List<T>.Sort()方法排序时,遇到9, 10,11和100排序的问题,往彺会出现2.xxx大于100.xxx (其中,xxx代表文件的后缀名) 等类似的情形,这明显不是我们要想的。
另外,在同一组文件中,假如都以: NNN_1_ABC.xxx,NNN_2_ABC.xxx……NNN_NNNN_ABC.xxx等形式(其中N为数字),此时,在NNN相同情况下,我们希望NNN_100比NNN_2 要“大”。
比如下面的文件列表,就是直接使用List<T>.Sort()方法排序产生的:
D:\ChineseCalendar\AI_样式\OK\00_CoverFM封面\00FM_01+圆形光盘+竖向.svg
D:\ChineseCalendar\AI_样式\OK\00_CoverFM封面\00FM_02_牛皮纸背景+蛇圈台历+新年快乐+大片小文字广告+普通广告.svg
………………// 这里还有一些文件(下"//"同)……………………
D:\ChineseCalendar\AI_样式\OK\00_CoverFM封面\00FM_19+彩色树叶+曲线+左中右上部广告.svg
………………// ……………………
D:\ChineseCalendar\AI_样式\OK\02\02_小朋友_蓝天白云向日葵等12月历.svg
………………// ……………………
D:\ChineseCalendar\AI_样式\OK\09\09_左上小图+右上横向大图+左下文字广告+右下含周序号单月历x12_OK.svg
D:\ChineseCalendar\A