You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中按文件名对目录文件数组进行排序

按文件名排序文件列表的解决方案

没问题,要实现你需要的按文件名对文件列表排序的需求很简单,只需要在获取文件路径后,结合LINQ排序和文件名提取方法就能搞定。

完整代码示例

using System;
using System.Windows.Forms; // 适用于WinForms项目
using System.IO;
using System.Linq;

// 方法内部逻辑
FolderBrowserDialog fbd = new FolderBrowserDialog();
// 先判断用户是否确认选择了文件夹,避免空路径报错
if (fbd.ShowDialog() == DialogResult.OK)
{
    string kaynak = fbd.SelectedPath;
    // 获取文件并按文件名排序
    string[] sortedFiles = Directory.GetFiles(kaynak)
                                    .OrderBy(filePath => Path.GetFileName(filePath))
                                    .ToArray();

    // 这里可以处理排序后的文件数组,比如打印验证结果
    foreach (string file in sortedFiles)
    {
        Console.WriteLine($"排序后路径:{file}");
    }
}

关键逻辑说明

  • Directory.GetFiles(kaynak):获取目标文件夹下所有文件的完整路径数组
  • Path.GetFileName(filePath):从完整路径中提取纯文件名(比如从C:\...\a12.txt得到a12.txt)
  • .OrderBy(...):LINQ的排序方法,默认按字符串的字典序排序,刚好符合你要的a12.txt → b11.txt → c11.txt的顺序

注意事项

  • 确保已经引用必要的命名空间:using System.Linq;(用于LINQ排序)和using System.IO;(用于文件操作)
  • 如果后续需要更复杂的排序规则(比如按文件名中的数字大小排序),可以自定义排序逻辑,但你的需求用默认字典序就完全满足

内容的提问来源于stack exchange,提问作者Ahmet Ali Soysal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 02:22:52