我正在尝试将文件列表放入多个目录中的数组或列表
目前我在做:
tempbatchaddresses = Directory.GetFiles(@"c:\", "*.log");
但我还需要tempbatchaddresses += Directory.GetFiles(@"d:\", "*.log");
还有第三个。我需要添加来自3个不同目录的文件的文件位置。
我该怎么做?
答案 0 :(得分:5)
tempBatchAddresses = Directory.GetFiles(@"c:\", "*.log").ToList();
tempBatchAddresses.AddRange(Directory.GetFiles(@"d:\", "*.log").ToList());
tempBatchAddresses.AddRange(Directory.GetFiles("some dir", "some pattern").ToList());
依旧......
答案 1 :(得分:4)
尝试这样的事情:
List<string> myFiles = new List<string>();
myFiles.AddRange(Directory.GetFiles(@"c:\", "*.log"));
...etc...
foreach (string file in myFiles)
{
//do whatever you want
}
答案 2 :(得分:1)
有许多类似的方法可以解决这个问题。这是一个。
static void Main()
{
IEnumerable<string> files = GetFiles("*.log", @"C:\", @"D:\", @"E:\");
}
static IEnumerable<string> GetFiles(string searchPattern, params string[] directories)
{
foreach (string directory in directories)
{
foreach (string file in Directory.GetFiles(directory, searchPattern))
yield return file;
}
}