わかりましたので、Windows 8 ストア用のアプリを作成していますが、エラーに MessageDialog を使用しています。特に理由はわかりませんが、MessageDialog を含めると、foreach ループがすべての行のループを停止し、最初の行のみなので、これが私のコードです。
try {
StorageFolder folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFile storageFile = await folder.GetFileAsync("students.txt");
var text = await Windows.Storage.FileIO.ReadLinesAsync(storageFile);
foreach (var line in text)
{
string name = "" + line.Split('|')[0];
string testTaken = "" + line.Split('|')[1];
if (your_name.Text == name)
{
if (testTaken == "false")
{
pageTitle.Text = name + "'s test";
enter_name_grid.Opacity = 0;
questions_grid.Opacity = 1;
var md = new MessageDialog("Enjoy the test");
await md.ShowAsync();
}
else
{
var md1 = new MessageDialog("You have already taken the test");
await md1.ShowAsync();
}
}
else
{
pageTitle.Text = "Test";
var md2 = new MessageDialog("You're not on the list");
await md2.ShowAsync();
}
}
} catch (Exception e) {
var mderror = new MessageDialog("{0} Exception caught: " + e);
mderror.ShowAsync();
}
私はこれで本当に行き詰まりを迎えたので、光を当てたり助けたりできる人なら誰でも大歓迎です! ありがとう