利用Lambda表达式解决c#文件名排序问题(是100大还是11大的问题)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值