本当にC#の新機能です。私はキーワードのテキストファイルを検索する必要があります。ファイル全体の後にを検索すると、、キーワードがメッセージボックスに表示されます。ファイル全体の後にを検索すると、、キーワードが見つかりません。メッセージボックスが表示されます。テキストファイルのC#検索
これまでのところ私はこれを持っています。問題は、ファイルを1行ずつ読み込むことです。最初の行にキーワードが見つからない場合は、「Not found」というアラートが表示されます。次に、次の行に進み、「見つかりません」と表示されます。等々。私は、ファイル全体を検索するためにスクリプトを必要とし、「見つからない」だけを1回だけ表示します。ありがとうございました!
string file = File.ReadAllText("path");
if (file.Contains(keyword)) {
//..
}
else {
//..
}
または1行に:
if (File.ReadAllText("path").Contains("path")) {
}
else {
}
などが述べられて
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
ファイルを読み込んで非同期的に検索することを検討するべきです(スレッド、スレッドプール、バックグラウンドワーカーまたはより良いasync/awaitメカニズム)。 – honzakuzel1989