2016-02-10 75 views
0

我有兩個枚舉用於在我的搜索中保存有效擴展名列表,以及在其中搜索我想要搜索文件的有效目錄列表。 這裏是我的代碼:如何獲得在列表和特定父目錄中具有特定擴展名的文件的列表

var ext = folder.IncludedExt;//type enum 
var subdirectories = folder.IncludeSubfolder;//type enum 
var myFiles = dir1.GetFiles("*.*", System.IO.SearchOption.AllDirectories). 
      Where(file => ext.Any(x => file.Name.EndsWith(x.ToString(), StringComparison.OrdinalIgnoreCase))); 

我想這些線,我越來越用正確的擴展名的文件的列表,但我不知道如何得到公正與目錄屬性的文件在我的子目錄列表中。

請幫助,並提前致謝;

回答

1

也許你可以考慮使用LINQ Select語句返回一個FileInfo列表。然後,追加「Where」過濾器,您可以查詢文件的擴展名(而不是endsWith條件)。 Finnaly,您將以fileInfo列表結束,該列表僅保存比文件路徑更多的數據。 這有幫助嗎?

0

最後我發現它

list1 = dir1.GetFiles("*.*", System.IO.SearchOption.AllDirectories).ToList(). 
         Where(file => ext.Any(x => file.Name.EndsWith(x.ToString(), 
         StringComparison.OrdinalIgnoreCase)) && 
         subdirectories.Any(x => file.Directory.Name.Equals(x.ToString(), StringComparison.OrdinalIgnoreCase))).ToList(); 
相關問題