以下是处理大约 10000 个文件的代码。
var files = Directory.GetFiles(directorypath, "*.*", SearchOption.AllDirectories).Where(
name => !name.EndsWith(".gif") && !name.EndsWith(".jpg") && !name.EndsWith(".png")).ToList();
Parallel.ForEach(files,Countnumberofwordsineachfile);
该Countnumberofwordsineachfile
函数将每个文件中的单词数打印到文本中。每当我实施Parallel.ForEach()
时,我每次处理时都会错过大约 4-5 个文件。谁能建议为什么会发生这种情况?
public void Countnumberofwordsineachfile(string filepath)
{
string[] arrwordsinfile = Regex.Split(File.ReadAllText(filepath).Trim(), @"\s+");
Charactercount = Convert.ToInt32(arrwordsinfile.Length);
filecontent.AppendLine(filepath + "=" + Charactercount);
}