我使用这样的代码比较文件按日期排序..
FileInfo f = new FileInfo(name1);
FileInfo f1 = new FileInfo(name2);
if (f.Exists && f1.Exists)
output = DateTime.Compare(f.LastWriteTime, f1.LastWriteTime);
Run Code Online (Sandbox Code Playgroud)
是否有更好更快的方式按日期排序?
我一次只能比较2个项目......
我无法从目录中获取所有文件.
Bro*_*ass 60
您可以使用LINQ:
var sortedFiles = new DirectoryInfo(@"D:\samples").GetFiles()
.OrderBy(f => f.LastWriteTime)
.ToList();
Run Code Online (Sandbox Code Playgroud)
Ale*_*sev 11
DirectoryInfo directoryInfo = new DirectoryInfo(@"D:\Temp");
var result = directoryInfo.GetFiles("*.*",SearchOption.AllDirectories).OrderBy(t => t.LastWriteTime).ToList();
Run Code Online (Sandbox Code Playgroud)
那么使用Array.Sort呢?
string[] fileNames = Directory.GetFiles("directory ", "*.*");
DateTime[] creationTimes = new DateTime[fileNames.Length];
for (int i = 0; i < fileNames.Length; i++)
creationTimes[i] = new FileInfo(fileNames[i]).CreationTime;
Array.Sort(creationTimes, fileNames);
Run Code Online (Sandbox Code Playgroud)