2016-09-25 114 views
-2
DirectoryInfo d = new DirectoryInfo(mypath);//Assuming Test is your Folder 
FileInfo[] Files = d.GetFiles("*.jpg"); //Getting Text files 

如何通過名稱命令文件數組?獲取按名稱文件排列的數組文件名c#

假設

files[0].Name is 'hi1.jpg' 
files[1].Name is 'hi2.jpg' 

回答

3

這僅僅是一個在LINQ的命名空間

using System.Linq; 

.... 
FileInfo[] Files = d.GetFiles("*.jpg").OrderBy(x => x.Name).ToArray(); 

OrderBy呼叫順便說一句,我建議你使用EnumerateFiles代替的GetFiles的。特別是如果你要遍歷這樣

foreach(FileInfo fi in d.EnumerateFiles("*.jpg").OrderBy(x => x.Name)) 
    Console.WriteLine(fi.Name); 

由於MSDN文檔

的EnumerateFiles和GetFiles的方法不同,如解釋的結果如下:當您 使用EnumerateFiles,你就可以開始枚舉返回整個集合之前的 FileInfo對象的集合。當您 使用GetFiles時,必須先等待返回的整個FileInfo對象數組爲 ,然後才能訪問該數組。

0
FileInfo[] Files = d.GetFiles("*.jpg").OrderBy(f => f.Name).ToArray(); 
0

使用LINQ

d.GetFiles("*.jpg").OrderBy(file=> file.Name).ToArray(); 
0

的FileInfo []文件= d.GetFiles( 「* JPG」。)的OrderBy(文件=> file.Name).ToArray();

  • 如上所述,.ToArray()函數與OrderBy(columnName)一起執行作業。