0

就此而言,我是使用 C# 和 .NET 编写的新手,并且想让我的程序更有效地运行,所以我想知道是否有人可以帮助我。简而言之,我的程序会遍历一系列 Excel 文件并将数据复制到其中。这一切都很好,但我想让它更有效率。到目前为止,我列出了 Clients 目录中的所有 Excel 文件路径,如下所示:

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

然后,我从列表中删除临时的或以某种方式明显不正确的 Excel 文件,然后循环浏览listClientExcelFiles并处理每个文件。当我打开 Excel 文件时,我确保 Excel 文件的内容是我想要的,如果不是,我就关闭它。

现在这一切都很好,但是为了提高处理效率,我只想要每个客户端下 Admin 文件夹中的 Excel 文件。所以每个客户端文件夹的目录结构是这样的:ClientName\Admin.

我的问题是:最有效的方法是什么?我正在考虑遍历列表中的每个路径并删除不包含管理员的路径?谁能给我一个例子?

任何帮助将不胜感激!

谢谢,贾斯汀

4

1 回答 1

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 
于 2013-10-31T22:18:35.757 回答