3 回答

TA貢獻1887條經(jīng)驗 獲得超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條經(jīng)驗 獲得超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 關(guān)注
- 1630 瀏覽
添加回答
舉報