-2

在 Directory.EnumerateFiles 或 Directory.GetFiles 中使用 .take() 是否允许?

我有这个并且工作

    Parallel.ForEach(Directory.EnumerateFiles(sourceFolder, "*", 
               SearchOption.AllDirectories), file =>
    {
         //DO SOMETHING

    });

我只想在 100 个文件中执行循环。所以:

    Parallel.ForEach(Directory.EnumerateFiles(sourceFolder, "*",
              SearchOption.AllDirectories).Take(100), file =>
    {
         //DO SOMETHING

    });

但是这个周期并没有像我预期的那样被记录 100 次。

为什么?

4

1 回答 1

5

是的,这样做绝对没问题。它将结果限制为返回的前 100 个文件EnumerateFiles。如果没有 100 个文件,它不会执行 100 次块……这只是一个限制因素。

于 2013-03-18T15:09:16.657 回答