DirectoryInfo d = new DirectoryInfo(mypath);//Assuming Test is your Folder
FileInfo[] Files = d.GetFiles("*.jpg"); //Getting Text files
文件数组如何按名称排序?
让我们说
files[0].Name is 'hi1.jpg'
files[1].Name is 'hi2.jpg'
等等
答案 0 :(得分:3)
只是在Linq名称空间中调用OrderBy
using System.Linq;
....
FileInfo[] Files = d.GetFiles("*.jpg").OrderBy(x => x.Name).ToArray();
顺便说一下,我建议您使用EnumerateFiles而不是GetFiles。特别是如果你必须像这样循环结果
foreach(FileInfo fi in d.EnumerateFiles("*.jpg").OrderBy(x => x.Name))
Console.WriteLine(fi.Name);
如MSDN文档中所述
EnumerateFiles和GetFiles方法的区别如下:当你 使用EnumerateFiles,您可以开始枚举集合 返回整个集合之前的FileInfo对象。当你 使用GetFiles,您必须等待整个FileInfo对象数组 在您可以访问阵列之前返回。
答案 1 :(得分:0)
FileInfo[] Files = d.GetFiles("*.jpg").OrderBy(f => f.Name).ToArray();
答案 2 :(得分:0)
使用Linq
d.GetFiles("*.jpg").OrderBy(file=> file.Name).ToArray();
答案 3 :(得分:0)
FileInfo [] files = d.GetFiles(" *。jpg")。OrderBy(file => file.Name)。ToArray();