按文件扩展名排序的数组列表

3
我有一个文件名的数组列表,例如:"Form.frm,Form1.frm,Form2.frm,Module.bas,Module23.bas"。在这个数组列表中,我想把第一个项目变成".bas"文件,我该如何使用数组列表实现呢?

你能更具体地说明你想要的输出是什么吗?此外,你使用 ArrayList 而不是 List<string> 有什么原因吗?请注意,ArrayList 已经过时了。 - Jon B
试着看一下这个链接: https://dev59.com/eXVC5IYBdhLWcg3wxEN1 希望能有所帮助。 另外,尝试使用List<T>而不是数组,它们更容易处理。 - jAC
这是一段现有的代码。他们已经在使用ArrayList了。如果我将ArrayList更改为List<string>,那么它将影响很多地方。 - tgranjith
我正在进行VB迁移工具到C#的工作。".bas"文件在VB中类似于类文件。因此,我想首先读取类文件以获取所有变量和函数。 - tgranjith
2个回答

5

首先建议使用强类型的 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分钟 :( - Gustavo F

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接