我如何对数组中目录的顺序进行排序?

时间:2014-05-15 03:04:45

标签: c# winforms

string[] dirs = Directory.GetDirectories(mainpath);
for (int x = 0; x < dirs.Length; x++)

当我循环遍历这些目录时,我看到dirs中的目录不是第一个不是硬盘上的第一个目录,每个目录中的很多乱码都不在它的位置。 我希望它与硬盘上的顺序相同。第一个创建为dirs中的第一个。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以按创建时间排序:

DirectoryInfo di = new DirectoryInfo(mainpath);
IEnumerable<DirectoryInfo> sortedDirectories = 
    di.GetDirectories().OrderBy(c => c.CreationTime);

然后你可以使用foreach迭代:

foreach(DirectoryInfo info in sortedDirectories)
{
    //access info here
}

虽然这可能不是same order as it is on the hard disk

所指的顺序