本文主要是介绍C#—GetFiles()获得的文件列表与在本机文件夹上按名称的排序一致,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
新建一个文件排序类
public class FileNameSort : IComparer{//调用DLL[System.Runtime.InteropServices.DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)]private static extern int StrCmpLogicalW(string param1, string param2);//前后文件名进行比较。public int Compare(object name1, object name2){if (null == name1 && null == name2){return 0;}if (null == name1){return -1;}if (null == name2){return 1;}return StrCmpLogicalW(name1.ToString(), name2.ToString());}}
然后进行文件按照名称排序。
public void sortFiles(string SourcePath){//获取文件夹中所有的pdf文件路径集合DirectoryInfo dirScan = new DirectoryInfo(SourcePath);//获取所有pdf文件FileInfo[] fileinfo = dirScan.GetFiles("*.pdf");//根据文件名排序,保持与电脑文件夹里面按照名称排序获取的文件顺序一致 FileNameSort是专门写的排序类,重要!!!Array.Sort(fileinfo, new FileNameSort());
}
FileNameSort 类参考文章:参考文章
这篇关于C#—GetFiles()获得的文件列表与在本机文件夹上按名称的排序一致的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!