array List 根据文件扩展名排序

Posted

技术标签:

【中文标题】array List 根据文件扩展名排序【英文标题】:array List Sorting according to the file extension 【发布时间】:2012-10-19 19:52:22 【问题描述】:

我在数组列表中有一些文件名,例如 "Form.frm,Form1.frm,Form2.frm,Module.bas,Module23.bas" 在数组列表中,我想将第一项设为 ".bas" 文件 我怎样才能使用数组列表。

【问题讨论】:

您能否更具体地说明您希望输出的内容?另外,您是否有任何理由使用ArrayList 而不是List<string> - ArrayList 已过时。 试试看这个:***.com/questions/188141/…希望它有帮助。也尝试使用 List 而不是 Arrays,它们更容易处理 这是现有代码。他们已经只使用了arrylist。如果我将 arraylist 更改为 List 意味着它将影响很多地方。 我正在将工具 vb 迁移到 C# ".bas" 文件就像 vb 中的类文件。所以我想先读取类文件来获取所有的变量和函数。 【参考方案1】:

首先我建议改用强类型的List<T>。你可以使用Path.GetExtension和Linq的Enumerable.OrderBy

List<String> files = new List<String>() "Form2.frm","Module.bas","Module23.bas" ;
var ordered = files.OrderBy(fn => Path.GetExtension(fn));

【讨论】:

【参考方案2】:

我了解您想通过扩展订购商品,可以通过以下方式完成:

        List<string> fileNames = new List<string>();
        fileNames.Add("Form.frm");
        fileNames.Add("Form1.frm");
        fileNames.Add("Form2.frm");
        fileNames.Add("Module.bas");
        fileNames.Add("Module23.bas");

        var ordered = fileNames.OrderBy(p => Path.GetExtension(p));

【讨论】:

该死的 5 分钟的慢速连接 :(

以上是关于array List 根据文件扩展名排序的主要内容,如果未能解决你的问题,请参考以下文章

【转】ctags使用详解

在js中使用递归函数按扩展名对文件进行排序

文件怎么设置手动排序?

如何添加带有变量结尾(“扩展名”)的.gitignore文件,但开头是一样的

列出某文件夹及其子文件夹下面的文件,并可根据扩展名过滤

Laravel 5 - 从文件扩展名中获取 MIME 类型