c# - 从文件名中获取日期部分并使用 c# 根据最新日期进行排序
问题描述
我在目录中有一组文件名为 db.dat.01-30-2021,db.dat.01-30-2020,db.dat.01-30-2018,db.dat.02-28- 2021,db.dat.02-28-2019。日期附加到这些文件中。我想按如下顺序首先获取最新文件。我尝试使用 CreationTime 和 lastwriteaccesstime 但它没有给出预期的结果。请帮助按此顺序获取文件。
db.dat.02-28-2021
db.dat.01-30-2021
db.dat.01-30-2020
db.dat.02-28-2019
db.dat.01-30-2018
Code
DirectoryInfo dpdirectorySelected = new DirectoryInfo(@"C:\wfiles");
FileInfo[] files = dpdirectorySelected.GetFiles().OrderBy(p => p.CreationTime).ToArray();
foreach (FileInfo fi in files)
{
var f=Path.GetFileNameWithoutExtension(fi.FullName);
}
解决方案
var sortedFiles = Directory.EnumerateFiles(folder, "db.dat.*")
.OrderByDescending(file => DateTime.ParseExact(Path.GetExtension(file), ".MM-dd-yyyy", null));
推荐阅读
- c++ - cmake 从对象库构建共享库会导致未定义的符号
- docker - 为什么 Jenkins job-dsl 插件因错误而失败:java.io.IOException: Failed to persist config.xml
- java - WSDL 解析导致到 weblogic12 上 w3.org 的出站 Internet 连接
- php - 在服务器上找不到 Laravel URL
- reactjs - 如何在反应路线中传递多个功能组件?
- angular - 在 Kendo-UI Angular 的动态网格中添加新行
- javascript - VS Code 中的 eslint 未突出显示未声明的变量
- active-directory - 在创建时设置 AD 属性 msDS-cloudExtensionAttribute X
- c# - 检查项目是否包含在列表中
- python - 运行与 twisted.internet.reactor 并行的 couroutine