private async void Clicked(object sender, RoutedEventArgs e)
{
StorageFolder s;
s = KnownFolders.DocumentsLibrary;
IReadOnlyList<StorageFile> l = await s.GetFilesAsync();
bool exists=false;
foreach (StorageFile sf in l)
{
if (string.Equals(sf.Name, "encrypted.txt", StringComparison.CurrentCultureIgnoreCase))
exists = true;
}
MessageDialog d = new MessageDialog(exists.ToString());
await d.ShowAsync();
}
调试代码时,我无法单步执行foreach
循环内的代码
虽然在循环结束时存在的值是正确的,如果我将MessageDialog
代码放入循环中,我可以看到循环执行,知道如何正确地进入循环吗?
即使我将MessageDialog
代码放入循环中,我也无法进入 if 条件,所以我怀疑问题出在某个地方
编辑:在 if 条件上设置断点有效(目前我将其放在函数的第一行),但如果我正在逐行调试,我不应该能够正常使用 F11 进入循环吗? ? (至少这就是它在 TurboC 中的工作方式)
EDIT2:我能想到的最简单的方法来清楚地显示问题:http ://www.youtube.com/watch?v=10GgXCqLlVo&feature=youtu.be (跳到 25 秒标记以查看实际问题)