var text = File.ReadAllText("somePath");
foreach (var word in new[]{"word1", "word2", "word3"})
{
var w = word;
new Thread(() => Console.WriteLine("{0}: {1}",
w,
text.Contains(w) ? "Yes" : "No")).Start();
}
Вы должны знать, что строка не может содержать бесконечные символы, поэтому, если содержимое слишком велико для строки, вы можете использовать File.ReadAllLines ("path") в "lines" вместо File.ReadAllText («path») в «text» и замените
text.Contains(w)
на
lines.Any(l => l.Contains(w))
. Вы также можете сделать что-нибудь сложное, используя File.ReadLines (), чтобы избежать чтения всех строк, когда в этом нет необходимости,если вы верите, что все слова могут быть найдены.