如何按创建日期列出文件

use*_*628 2 c# directory asp.net-mvc file

我有ASP.NET(C#)4.0.

我的代码是这样的:

public IEnumerable<string> GetFiles(string searchPatternExpression)
{
    string path = @"D:\xxx\";
    SearchOption searchOption = SearchOption.TopDirectoryOnly;
    Regex reSearchPattern = new Regex(searchPatternExpression);
    return Directory
        .EnumerateFiles(path, "*", searchOption)
        .Where(file => reSearchPattern.IsMatch(Path.GetFileName(file)))
        .OrderBy(file => file);
}
Run Code Online (Sandbox Code Playgroud)

如何按文件的创建日期订购?

Ser*_*kiy 7

因此,你需要得到文件的创建时间,最好用DirectoryInfo得到FileInfo!而非简单的字符串:

public IEnumerable<string> GetFiles(string searchPatternExpression)
{
    string path = @"D:\xxx\";
    SearchOption searchOption = SearchOption.TopDirectoryOnly;
    Regex reSearchPattern = new Regex(searchPatternExpression);
    return new DirectoryInfo(path)
        .EnumerateFiles("*", searchOption)
        .Where(file => reSearchPattern.IsMatch(file.Name))
        .OrderBy(file => file.CreationTime)
        .Select(file => file.FullName); // return just names
}
Run Code Online (Sandbox Code Playgroud)