我正在尝试从以下目录中选择文件格式
: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
答案 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())
)
);