遍历两个目录

时间:2016-10-18 15:26:08

标签: c#

我希望遍历两个目录。我知道可用的选项to iterate through each directory并将列表中的所有详细信息存储在列表中。我想知道是否有更好的方法在C#中实现这一点而不遍历每个目录并将详细信息存储在单独的列表中。要求是在遍历其中一个目录的所有内容时,我想比较每个项目该目录到第二个目录中的目录

1 个答案:

答案 0 :(得分:6)

  

我想知道是否有更好的方法可以在C#中实现这一点,而无需遍历每个目录并将详细信息存储在单独的列表中。

在两个目录上使用EnumerateFiles,压缩连接它们,然后通过foreach循环运行连接。

var firstFiles = Directory.EnumerateFiles(...);
var secondFiles = Directory.EnumerateFiles(...);
var joined = firstFiles.Zip(secondFiles, 
  (first, second) => new { First = first, Second = second });
foreach(var pair in joined)
{
   // now do something with pair.First and pair.Second
}