C# DirectoryInfo.GetFiles() 排序问题
读取到的文件默认是根据修改时间排序的,如果要根据文件名排序可以使用
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);
}