2013-10-31 72 views
0

我剛剛在C#和.NET中編寫了這個問題,並希望讓我的程序更高效地運行,所以我想知道是否有人可以幫助我這裏。簡而言之,我的程序通過一系列Excel文件並將數據複製到它們中。這一切工作正常,但我想使它更有效率。截至目前我使所有的Excel文件的路徑列表目錄中的客戶端是這樣的:創建位於每個公共子目錄中的所有文件的列表

listClientExcelPaths = new List<String>(Directory.GetFiles(PATH_Root + PATH_Clients, "*.xlsx", SearchOption.AllDirectories));

我然後從列表中刪除這是臨時或以某種方式顯然是不正確的Excel文件然後遍歷listClientExcelFiles並處理每個文件。當我打開Excel文件時,我確保Excel文件的內容是我想要的,如果不是,則關閉它。

現在這一切都很好,但爲了使處理更有效一些,我只想要在每個客戶端下的Admin文件夾中的Excel文件。因此,每個客戶端文件夾的目錄結構如下:ClientName\Admin

我的問題是:這樣做最有效的方法是什麼?我想通過列表中的每個路徑並刪除不包含管理員的路徑?任何人都可以給我一個這樣的例子嗎?

任何幫助將不勝感激!

感謝, 賈斯汀

回答

1

你的想法是好的。如果您在使用LINQ沒有問題,那麼該任務是一個班輪這樣的:

var paths = new List<string> 
{ 
    @"a\b\admin\c", 
    @"x\y\z\", 
    @"ddd\ggg\hhh\admin", 
    @"zzz\yyy\rrr" 
}; 

var filteredPaths = paths.Where (p => p.ToLower().Contains("admin")).ToList(); 

輸出是:

a\b\admin\c 
ddd\ggg\hhh\admin 
+0

是啊,我剛剛一直在學習LINQ,似乎很straightforwards。謝謝! – Justin

相關問題