Мне нужно искать файлы документов на сетевом диске в определённой папке и всех её подпапках, я написал следующий код но он работает гораздо медленнее поиска через проводник windows. Вот мой код:
HashSet<string> missingFiles;
.....
var options = new EnumerationOptions
{
IgnoreInaccessible = true,
RecurseSubdirectories = true,
};
try
{
await Task.Run(() =>
{
foreach (string file in Directory.EnumerateFiles(networkPath, "*.pdf", options).AsParallel().Where(filePath =>
missingFiles.Contains(Path.GetFileNameWithoutExtension(filePath))))
{
......
missingFiles.Remove(Path.GetFileNameWithoutExtension(file));
if (missingFiles.Count == 0)
{
break;
}
}
});
}
catch (Exception ex)
{
Logger.ExceptionsMessages.Add(ex.Message);
}