按名称返回已排序的目录文件夹

时间:2013-03-19 08:43:00

标签: c# sorting directoryinfo

我有一个目录路径c:\ W,其中包含文件夹列表 -

01_C
02_B
03_A
04_F

我希望对目录文件夹进行排序并使用以下输出返回 -

A
B
C
F

我正在使用.net 4。

2 个答案:

答案 0 :(得分:2)

如果要对目录名的最后一个字符进行排序,请:

DirectoryInfo di = new DirectoryInfo("c:\\w");
List<string> dirList = di.GetDirectories()
                         .Select(r => r.Name)
                         .OrderBy(r => r[r.Length - 1])
                         .ToList();

请记住将using System.Linq放在首位。

答案 1 :(得分:0)

DirectoryInfo d = new DirectoryInfo(@"C:\W");
var sorted = d.GetDirectories().Select(f => f.Name.Split('_')[1]).OrderBy(name => name);

请注意,这里没有任何错误处理,只是让你滚动的想法。