我有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);
}
如何按文件的创建日期订购?
答案 0 :(得分: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
}
答案 1 :(得分: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 => new FileInfo(file).CreationTime);
}