У меня есть следующий код:
// 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 возвращает задачу?
Спасибо за вашу помощь.