c# - 在特定文件夹中按数字顺序排列文件
问题描述
我有一个仅包含 .txt 文件的文件夹。我希望我的输出有一定的顺序。
每个文件名的前 2 位数字是其唯一 ID。我想按数字顺序对文件进行排序
我研究了多个与此类似的问题,例如 使用 C# 从文件夹中获取所有文件名
但没有人帮助我实现这个目标。获得所需输出的最简单方法是什么?
string folder = @"C:\Testing\";
var txtFiles = Directory.GetFiles(folder, "*.txt")
.Select(Path.GetFileName)
.ToList();
foreach(var f in txtFiles)
{
Console.WriteLine(f);
}
Console.ReadKey();
视窗探索
控制台输出
解决方案
这会用零填充第一个数字部分以进行排序:
string folder = @"C:\Testing";
var txtFiles = Directory.GetFiles(folder, "*.txt")
.Select(Path.GetFileName)
.OrderBy(f => f.Split('_')[0].PadLeft(5, '0'));
foreach (var f in txtFiles)
{
Console.WriteLine(f);
}
推荐阅读
- dax - DAX formula to find second minimum with extra criteria
- node.js - Node gRPC (proto3) how to convert AsObject type back to gRPC class
- c# - How do I use VST.Net to load one plugin and use it with multi connection
- swift - 从通用上下文快速调用非通用函数
- javascript - 即使满足中断条件,递归函数也不会终止 - JavaScript
- reactjs - 获取 findindex() 未涵盖的消息语句和函数,并且某些分支未涵盖为 selectedgroup[0].desc
- python - 熊猫按时间和分组滚动条件总和
- jms - 如何为 JmsListener 收到的每条消息设置超时?
- anylogic - 3天内任何逻辑。实验 - CompareRuns
- android - appbar内的Android工具栏:所有菜单始终显示在左侧