我有一个文件名的数组列表,例如:"Form.frm,Form1.frm,Form2.frm,Module.bas,Module23.bas"。在这个数组列表中,我想把第一个项目变成".bas"文件,我该如何使用数组列表实现呢?
首先建议使用强类型的 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));
我理解您希望按照扩展名对项目进行排序,可以通过以下方式实现:
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));
ArrayList
而不是List<string>
有什么原因吗?请注意,ArrayList
已经过时了。 - Jon B