所以我有一个存储一堆配置文件的目录,但现在我也有几个子目录也包含配置文件。我有一个收集每个站的所有配置文件的功能,但现在它只收集目录中的文件,而不是子文件夹。旧代码:
string MasterList = "ConfigsForStation1.txt";
string dirC = "..\\config\\Station1\\";
foreach (FileInfo fileC in dirC.GetFiles())
{
if(!System.IO.Path.GetExtension(fileC.FullName).EndsWith(".confg"))
{ WriteToList(fileC,MasterList);}
}
现在有了这个子目录的东西,它更多地按照以下方式实现:
string MasterList = ...;
string dirC = ...;
//collect files in sub directories substations 1 & 2
foreach(DirectoryInfo Dx in dirC.GetDirectories())
{ foreach(FileInfo fileC in Dx.GetFiles())
{...}
}
//collect files in parent directory station 1
foreach(FileInfo fileC in dirC.GetFiles())
{...}
我的问题是:有没有一种更简洁的方法来从所有子文件夹中收集文件,而不是在 foreach 中嵌套一个 foreach?然后对父项中的内容进行第三次传递。感觉有点草率,我觉得像 dirC.getAllsub() 这样的命令会为我这样做?只是寻找提示和想法来清理代码。