生徒のデータ (名前と年齢) を .txt ファイルに保存するプログラムをコーディングしています。私は今deleteメソッドをやっています。ただし、ユーザーが文字列を入力すると、入力を my の文字列と比較する必要がList<string>
あります。これは名前でいっぱいです。コード:
string tempFileName;
string inputSel; // Selection string for delete
Console.WriteLine(" -- Deleting Grade {0} -- ", grade);
Console.WriteLine("- Enter a student name to delete: ");
foreach (string file in fileNames)
{
tempFileName = file.Replace(".txt", "");
studentNames.Add(tempFileName);
}
foreach (string name in studentNames)
{
Console.Write("{0}\n", name);
}
Console.WriteLine();
Console.Write("> ");
inputSel = Console.ReadLine();
string input = inputSel.ToLower();
string tempString;
bool foundString = false;
foreach (string file in studentNames)
{
tempString = file.ToLower();
if (inputSel == tempString)
{
foundString = true;
}
}
if (!foundString)
{
Console.WriteLine("Wrong name entered!");
Console.WriteLine("Returning to grades menu..");
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
return;
}
ご覧のとおり、プログラムは (ToLower()) に格納inputSel
してからinput
、 studentNamesList<string>
の各文字列を比較し、一致が見つかった場合は foundString を反転しますが、一致bool
する名前を入力しても (たとえば、JacobMusterson と表示されます) JacobMusterson に入ります。「学生が見つかりません」をスキップするはずですが、スキップしません。