Действительно новый для C#. Мне нужно найти текстовый файл для ключевого слова. Если после поиска всего файла, ключевое слово найдено поп-поле. Если после поиска всего файла, ключевое слово НЕ найдено, появится окно сообщения.C# поиск в текстовом файле
Пока у меня это внизу. Проблема в том, что он читает файл по строкам. Если в первой строке ключевое слово не найдено, оно отображает предупреждение «Не найдено». Затем переходите к следующей строке и снова показываем «Не найдено». И так далее. Мне нужен скрипт для поиска по всему файлу, и только затем покажите «Не найдено» только один раз. Спасибо!
private void SearchButton_Click(object sender, EventArgs e)
{
System.IO.StreamReader file = new System.IO.StreamReader("c:\\test.txt");
String line;
String[] array;
while ((line = file.ReadLine()) != null)
{
if (line.Contains("keyword"))
{
MessageBox.Show("Keyword found!");
}
else
{
MessageBox.Show("Keyword not found!");
}
}
}
Итак, просто прочитайте весь файл, используя ['ReadToEnd'] (https://msdn.microsoft.com/en-us/library/system.io.streamreader.readtoend (v = vs.110) .aspx)? – UnholySheep
Что вы пробовали? Вы можете подумать о том, чтобы не показывать ящик сообщений сразу, но сохранить результат в переменной, которую вы проверяете после цикла. – CodeCaster
Вы должны рассмотреть возможность загрузки файлов и поиска в них асинхронно (поток, threadpool, backgroundworker или лучше механизм async/await). – honzakuzel1989