您好,我在一个文件夹中有很多文件。这些文件在特定格式的文件名中有日期和时间。我需要从名称中提取日期,然后按日期升序排序。 文件名示例:-
format_type_2011-07-12-13-00-12.txt
之前我使用的是 createTime。但是现在要求改变了。
var Files = new DirectoryInfo(FileDirectory).GetFiles()
.OrderBy(f => f.CreationTime)
.ToList();
我该怎么做?感谢您的帮助。
最佳答案
这应该有效:
var di = new DirectoryInfo(FileDirectory);
var Files = di.GetFiles()
.OrderBy( f => f.Name.Substring(f.Name.LastIndexOf('_')+1)
.ToList();
由于您的文件名(减去格式信息)已经按照 ISO8601 顺序排列(先是年,然后是月,然后是日期,等等)您可以只根据字符串进行排序,而不必转换为日期。
关于c# - 如何使用 C# 按文件名中的日期对文件进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6627029/