按编号对文件名进行排序
本文关键字:排序 文件名 编号 | 更新日期: 2023-09-27 18:32:30
我一直在研究一个 c# 图像查看器,它将从我的计算机读取图像并在程序中显示它们。
//foreach file in path display the filename
foreach (var filename in Directory.GetFiles(<path>))
{
MessageBox.show(filename);
}
//Get image by number
var image = Directory.GetFiles(<path>).elementatordefault(<picnumber>).tostring());
我的问题是,即使我的图像在文件夹中按顺序排列:1,2,3,4 .....12,13,14....101,102,我的应用程序将按以下顺序显示文件:1,101,102,12,13,2...
我将如何像在PC文件夹中一样正确显示图像?我不敢相信我需要将每个文件添加到数组或列表中,然后执行排序算法......(我还需要拆分文件路径和扩展名)必须有一种更简单的方法可以做到这一点,任何帮助将不胜感激。
我终于也开始研究如何以"自然顺序"对文件进行排序,也许有人会发现这段代码也很有用,因为我也是这样做的。
List<string> mylist = new List<string> { };
foreach (var f in Directory.GetFiles(FilePath1))
{
mylist.Add(f);
}
var result = mylist.OrderBy(x => x.Length);
如果您知道文件名的格式,则需要对自己的比较器进行排序和实现。此线程可能会帮助您: 对混合数字和字符串进行排序