2021年12月

读取到的文件默认是根据修改时间排序的,如果要根据文件名排序可以使用

fileInfos.OrderBy(f => f.Name);

得到的顺序为:1、10、2、3 ... 9,使用以下方法即可解决

DirectoryInfo directoryInfo=new DirectoryInfo(folderPath);
FileInfo[] fileInfos= directoryInfo.GetFiles();

List<string> files=new List<string>();
Array.Sort(fileInfos, (x1, x2) => int.Parse(Regex.Match(x1.Name, @"\d+").Value).CompareTo(int.Parse(Regex.Match(x2.Name, @"\d+").Value)));
foreach (FileInfo file in fileInfos)
{
    files.Add(file.FullName);
}

原文链接:https://www.jianshu.com/p/d69461e7cbd7