我很想用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
。
我的问题是:最有效的方法是什么?我正在考虑浏览列表中的每个路径并删除不包含Admin的路径?谁能举个例子呢?
非常感谢任何帮助!
感谢, 贾斯汀
答案 0 :(得分: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