Я использую Visual Studio и пытаюсь перебрать oop через 22 000+ слов документов для поиска определенных c слов - код работает, но он очень медленный, это то, что у меня есть до сих пор (любой идеи, как я могу ускорить это?):
string docPath = "V:\\Myfolder";
string writeFile = "N:\\Personal\\DB Development\\SensitivePatients.txt";
long x = 0;
string[] words =
{
"ige",
"itu",
"cop",
"home",
"ild",
};
foreach (var myfile in Directory.EnumerateFiles(docPath, "*.doc*"))
{
Console.WriteLine(x);
x += 1;
Microsoft.Office.Interop.Word.Application application = new Microsoft.Office.Interop.Word.Application();
Document document = application.Documents.Open(myfile, ReadOnly: true);
// Loop through all words in the document.
int count = document.Words.Count;
for (int i = 1; i <= count; i++)
{
foreach (string w in words)
{
if (document.Words[i].Text.IndexOf(w, 0, StringComparison.CurrentCultureIgnoreCase) != -1)
{
using (StreamWriter streamWriter = new StreamWriter(writeFile, true))
{
streamWriter.WriteLine(myfile);
streamWriter.WriteLine(document.Words[i].Text);
}
}
};
}
// Close word.
application.Quit();