在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次。
为什么?
答案 0 :(得分:5)
是的,这样做绝对没问题。它会将结果限制为EnumerateFiles
返回的前100个文件。如果没有100个文件,它将不执行该块100次......这只是一个限制因素。