【发布时间】:2023-04-11 08:16:01
【问题描述】:
我想按升序对文件夹的文件进行排序,以便我可以正确组合这些文件,但我得到的输出是 1,10,11,我希望输出为 1,2,3 .. 同样地。 我正在使用这个,
DirectoryInfo di = new DirectoryInfo(source_path);
FileInfo[] arrFi = di.GetFiles("*.*");
//arrFi.OrderBy(fi=>fi.LastWriteTime);
Array.Sort(arrFi.OrderBy(fi => fi.LastWriteTime));
【问题讨论】:
-
您想按文件的写入时间还是按文件的名称对文件进行排序?
-
您正在寻找自然排序 What is natural ordering? 。然后你会发现如何Natural Sort Order in C#。还有this、stackoverflow.com/questions/8568696/…
-
var arrFi = new DirectoryInfo(source_path).EnumerateFiles("*.*").OrderBy(file => file.LastWriteTime).ToArray();如果您想按文件的最后写入时间对文件进行排序 -
Directory.GetFiles(folder, "*.dll").Select(fn => new FileInfo(fn)).OrderBy(f => f.LastWriteTime);也请检查stackoverflow.com/a/6294337/2638414