我正在使用Directory.GetFiles从特定文件夹中获取文件。
默认情况下,该文件夹中的文件按文件名排序。以文件名的字母顺序。我想按修改文件的顺序获取文件。

我无法使用Directory.GetInfo,因为我想获取包含特定关键字的文件。
请让我知道如何获取按其修改日期排序的文件。
我正在使用以下代码

string[] arr1 = Directory.GetFiles("D:/TestFolder", "*"Test12"*");

任何帮助将不胜感激。

最佳答案

那下面呢

DirectoryInfo di = new DirectoryInfo("D:\\TestFolder");
FileSystemInfo[] files = di.GetFileSystemInfos();
var orderedFiles = files.Where(f=>f.Name.StartsWith("Test12"))
                        .OrderBy(f => f.CreationTime)
                        .ToList();

您可以根据需要用任何字符串函数替换f.Name.StartWith(.Contains等)

您可以将f => f.CreationTime替换为f.LastWriteTime以获取修改的时间,但请记住,从Windows Vista开始,默认情况下不会更新的上次访问时间。这是为了提高文件系统性能

关于sorting - Directory.GetFiles按日期排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9906360/

10-11 02:37