[System.Runtime.InteropServices.DllImport("Shlwapi.dll", CharSet = System.Runtime.InteropServices.CharSet.Unicode)]
private static extern int StrCmpLogicalW(string psz1, string psz2);
DirectoryInfo Dir = new DirectoryInfo(str);
List<FileInfo> files = new List<FileInfo>();
files.AddRange(Dir.GetFiles("*." + suffix));
files.Sort(CompareFilename);
//排序算法
public int CompareFilename(FileInfo obj1, FileInfo obj2)
{
int res = 0;
if ((obj1 == null) && (obj2 == null))
{
return 0;
}
else if ((obj1 != null) && (obj2 == null))
{
return 1;
}
else if ((obj1 == null) && (obj2 != null))
{
return -1;
}
if (obj1.DirectoryName == obj2.DirectoryName)
{
res = StrCmpLogicalW(obj1.Name,obj2.Name);
}else
{
res = obj1.DirectoryName.CompareTo(obj2.DirectoryName);
}
}