按目录路径的顺序获取文件

时间:2016-09-15 06:09:09

标签: c# asp.net asp.net-mvc

我正在尝试从以下目录中选择文件格式

:hover

但是当文件大小在第一次选择文件后达到10,如 10 时,它没有1个文件,然后跳转到10.i有趣的下面的代码不知道它为什么这样做

14094901-1_SCAN_f568aecd-5f5a-424d-bb54-b2a7ee60ca9e
14094901-2_SCAN_90b3ddf3-17f9-417d-b64d-61a175a779a3

请告诉我如何以正确的顺序获取文件1,2,3,4,5,6,7,8,9,10 但获得1,10,2,3,4,5,6,7,8,9

4 个答案:

答案 0 :(得分:2)

这可能会有所帮助

        string path1 = @"C:\Users\test\AppData\Local\Temp\XXXXX"
        var files = Directory.GetFiles(path1);
        var fileIndex = files.Select(a => new {Name = a, Index = Convert.ToInt32(a.Split(new[] {'-', '_'})[1])});
        var orderdFileNames = fileIndex.OrderBy(a => a.Index).Select(a => a.Name);

答案 1 :(得分:0)

.ToArry()之前将第二个分割值转换为int。

答案 2 :(得分:0)

请试试这个

 string path1 = @"C:\Users\test\AppData\Local\Temp\XXXXX";
        var files = Directory.GetFiles(path1);
        var orderedFiles = files.OrderBy(file => Convert.ToInt32(file.Split(new []{'-', '_'})[1]));

答案 3 :(得分:0)

请试试这个

var orderedFiles =  Directory.GetFiles(path1).OrderBy(path =>
               Convert.ToInt32(
                String.Concat(
                    path.Split('_','-')
                        .Skip(1).Take(1)
                       .ToArray())
            )

            );