相关疑难解决方法(0)

使用await的异步lambda表达式返回Task?

我有以下代码:

            // 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(); });
Run Code Online (Sandbox Code Playgroud)

我希望它是streams类型的,IEnumerable<Stream>但事实上它是IEnumberable<Task<Stream>>,这是我所期望的,如果我省略了await关键字.返回类型OpenStreamForWriteAsyncTask<Stream>- 肯定等待它应该产生一个Stream

那么,为什么return await语句返回一个Task?

谢谢你的帮助.

c# async-await windows-runtime

16
推荐指数
1
解决办法
1万
查看次数

标签 统计

async-await ×1

c# ×1

windows-runtime ×1