私は現在、テキスト ファイルを含む小さな C# 演習を行っています。テキスト ファイルに含まれているのは、テキスト ファイル内の新しい行ごとの文だけです。これまでのところ、テキストを読み取って文字列配列に格納することができました。次に行う必要があるのは、特定の用語を検索し、検索された単語/フレーズを含む文を書き出すことです。while ループ内で行うべきか、それとも他の場所で行うべきかを知りたいだけですか?
String filename = @"sentences.txt";
// File.OpenText allows us to read the contents of a file by establishing
// a connection to a file stream associated with the file.
StreamReader reader = File.OpenText(filename);
if (reader == null)
{
// If we got here, we were unable to open the file.
Console.WriteLine("reader is null");
return;
}
// We can now read data from the file using ReadLine.
Console.WriteLine();
String line = reader.ReadLine();
while (line != null)
{
Console.Write("\n{0}", line);
// We can use String.Split to separate a line of data into fields.
String[] lineArray = line.Split(' ');
String sentenceStarter = lineArray[0];
line = reader.ReadLine();
}
Console.Write("\n\nEnter a term to search and display all sentences containing it: ");
string searchTerm = Console.ReadLine();
String searchingLine = reader.ReadLine();
while (searchingLine != null)
{
String[] lineArray = line.Split(' ');
String name = lineArray[0];
line = reader.ReadLine();
for (int i = 0; i < lineArray.Length; i++)
{
if (searchTerm == lineArray[0] || searchTerm == lineArray[i])
{
Console.Write("\n{0}", searchingLine.Contains(searchTerm));
}
}
}