真的是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
您應該考慮加載文件並在其中異步搜索(線程,線程池,backgroundworker或更好的異步/等待機制)。 – honzakuzel1989