var seldir = new DirectoryInfo(path);
Parallel.ForEach(seldir.EnumerateFiles(), files =>
{
if (files.Extension.Equals(".txt"))
{
Task text = Task.Factory.StartNew(() => opentext(files.Name));
}
else if (files.Extension.Equals(".doc"))
{
Task doc = Task.Factory.StartNew(() => opendoc(files.Name));
}
});
一旦代码找到一个文本文件,它将在if条件下启动任务以调用另一个函数,以后无论如何都不会。枚举的文件,即使找到了.doc扩展名文件,代码也不会到达elseif部分。我需要打开该文件夹中找到的所有文本和doc文件。请帮助。
var seldir =新的DirectoryInfo(path); Parallel.ForEach(seldir.EnumerateFiles(),files => {if(files.Extension.Equals(“。txt”)){任务文本= Task.Factory.StartNew(()=> opentext(...
认为
这可能是任务的问题,所有任务的files
评估都推迟了,因此最终都以相同的files
对象。