[英]get files in order of directory path
我正在尝试从以下目录中选择文件是文件格式
14094901-1_SCAN_f568aecd-5f5a-424d-bb54-b2a7ee60ca9e
14094901-2_SCAN_90b3ddf3-17f9-417d-b64d-61a175a779a3
但是当选择文件后文件大小达到10到10之类的10时 ,它没有图片,然后跳转到10.i。下面的代码有趣,不知道为什么这样做
string path1 = @"C:\Users\test\AppData\Local\Temp\XXXXX";
var paths = Directory.GetFiles(path1)
.OrderBy(path =>
Convert.ToInt32(
String.Concat(
path.Split('-', '.')
.Skip(3)
.Take(1)
//.Select(num => num.PadLeft(2, '0'))
.ToArray())
)
);
请让我知道如何以正确的顺序获取文件1,2,3,4,5,6,7,8,9,10,但是得到1,10,2,3,4,5,6,7,8 ,9
这可能有帮助
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);
将第二个拆分值转换为.ToArry()
之前的int。
请尝试这个
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]));
请尝试这个
var orderedFiles = Directory.GetFiles(path1).OrderBy(path =>
Convert.ToInt32(
String.Concat(
path.Split('_','-')
.Skip(1).Take(1)
.ToArray())
)
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.