3 回答
TA贡献1887条经验 获得超5个赞
如果您对文件的属性(例如CreationTime)感兴趣,那么使用System.IO.DirectoryInfo.GetFileSystemInfos()会更有意义。然后,可以使用System.Linq中的一种扩展方法对它们进行排序,例如:
DirectoryInfo di = new DirectoryInfo("C:\\");
FileSystemInfo[] files = di.GetFileSystemInfos();
var orderedFiles = files.OrderBy(f => f.CreationTime);
编辑-抱歉,我没有注意到.NET2.0标签,因此请忽略LINQ排序。虽然仍然保留使用System.IO.DirectoryInfo.GetFileSystemInfos()的建议。
TA贡献1802条经验 获得超5个赞
在.NET 2.0中,您需要使用Array.Sort对FileSystemInfos进行排序。
另外,您可以使用Comparer委托来避免只为比较而声明一个类:
DirectoryInfo dir = new DirectoryInfo(path);
FileSystemInfo[] files = dir.GetFileSystemInfos();
// sort them by creation time
Array.Sort<FileSystemInfo>(files, delegate(FileSystemInfo a, FileSystemInfo b)
{
return a.LastWriteTime.CompareTo(b.LastWriteTime);
});
- 3 回答
- 0 关注
- 1549 浏览
添加回答
举报