У меня есть следующий код:
// Get all of the files from the local storage directory.
var files = await folder.GetFilesAsync();
// Map each file to a stream corresponding to that file.
var streams = files.Select(async f => { return await f.OpenStreamForWriteAsync(); });
Я бы ожидал, что streams будет иметь тип IEnumerable<Stream>, но на самом деле он имеет значение IEnumberable<Task<Stream>>, что я и ожидал, если бы я опустил ключевое слово ожидания. Возвращаемый тип OpenStreamForWriteAsync равен Task<Stream> - наверняка ожидая, что он должен создать Stream?
Итак, почему оператор return return возвращает задачу?
Спасибо за вашу помощь.