Переменная results представляет собой просто коллекцию StorageFiles, и если ее значение превышает 1020 или около того, выдается исключение; в противном случае обычно все в порядке.
Код: Выделить всё
private async void GetMusicTest()
{
var sfolder = await StorageFolder.GetFolderFromPathAsync(dir);
var query = sfolder.CreateFileQueryWithOptions(queryOptions);
var results = await query.GetFilesAsync();
for (int i = 0; i < results.Count; i++)
{
MusicProperties mp = await results[i].Properties.GetMusicPropertiesAsync();
Debug.WriteLine(mp.Title);
}
}
Интересно, что если вместо этого используется result.Count(), то ошибка выдается после трех итераций, тогда как results.Count выдает ее после повторения хотя бы половины коллекции, если не всей (кажется, она различается). Они оба возвращают одни и те же значения. Как лучше всего выполнить цикл, не вызывая исключения stackoverflow и не используя все доступные потоки?
Подробнее здесь: https://stackoverflow.com/questions/132 ... -exception
Мобильная версия