可能重复:
Sort on a string that may contain a number
How would I sort a list of files by name to match how Windows Explorer displays them?
向大家致意!!!
使用Directory.GetFiles方法获取文件时遇到问题。我的目录中有以下顺序的文件。
Slide1.png,Slide2.png,Slide3.png,Slide4.png等等。
当我收到文件时,它会以Slide1.png,Slide10.png,Slide11.png,Slide12.png,Slide2.png,Slide21png等格式返回...
使用文件名进行排序并组合相同的值。我正在尝试Array.sort()但它不按我的意愿排序。我想要以下顺序。
Slide1.png,Slide2.png,Slide3.png,Slide4.png等等。
我使用的是VB.NET Framework 4.0版。
谢谢
答案 0 :(得分:0)
你必须用零填充数字,如下所示:
Slide01.png
Slide02.png
...
Slide10.png
...
我自己遇到了很多问题,所以如果你有很多事要做(我有600张图片),可以尝试批量重命名,如Metamorphose。
答案 1 :(得分:0)
问题在于我们在字符串方面,1,10,2是正确的顺序。虽然在数字上显然不是。
这是我发现的一篇文章,其中包括:http://www.codeproject.com/KB/recipes/csnsort.aspx