遍历两个目录

Pet*_*ete -7 c#

我期待迭代两个目录.我知道可以选择迭代每个目录并在列表中存储它在其中找到的所有详细信息的列表.我想知道是否有更好的方法在C#中实现这一点而不遍历每个目录并将详细信息存储在单独的列表中.要求是在遍历其中一个目录的所有内容时,我想比较每个项目该目录到第二个目录中的目录

Eri*_*ert 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
}
Run Code Online (Sandbox Code Playgroud)

  • @Pete:记住,"同时"具有非常特殊的含义; 它意味着实际上两个事物实际上同时发生,而单个磁盘很难做到这一点.I/O事件的时间安排非常棘手; 如果你有一个涉及磁盘等待时间过长的性能问题,那么你不需要同时性,你想要相反的.您需要异步工作流程. (3认同)
  • @Pete:一个幸运的猜测; 你的问题很不清楚. (2认同)