Questions tagged «iasyncenumerable»

9
是否可以“等待收益回报DoSomethingAsync()”
常规迭代器块(即“收益回报”)是否与“异步”和“等待”不兼容? 这样可以很好地说明我要做什么: async Task<IEnumerable<Foo>> Method(String [] Strs) { // I want to compose the single result to the final result, so I use the SelectMany var finalResult = UrlStrings.SelectMany(link => //i have an Urlstring Collection await UrlString.DownLoadHtmlAsync() //download single result; DownLoadHtmlAsync method will Download the url's html code ); return …

2
创建空的IAsyncEnumerable
我有一个这样写的接口: public interface IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync(); } 我想编写一个不返回任何项目的空实现,如下所示: public class EmptyItemRetriever : IItemRetriever { public IAsyncEnumerable<string> GetItemsAsync() { // What do I put here if nothing is to be done? } } 如果可以使用普通的IEnumerable,我可以return Enumerable.Empty<string>();,但是没有找到任何东西AsyncEnumerable.Empty<string>()。 解决方法 我发现这可行,但是很奇怪: public async IAsyncEnumerable<string> GetItemsAsync() { await Task.CompletedTask; yield break; } 任何的想法?

1
转换IAsyncEnumerable到列表
因此,在C#8中,我们增加了IAsyncEnumerable接口。 如果我们有一个法线,IEnumerable我们可以制作一个List或几乎任何我们想要的其他收藏。感谢那里的Linq。 var range = Enumerable.Range(0, 100); var list = range.ToList(); 好吧,现在我想异步地将其转换IAsyncEnumerable为a List和this。该情况下已经有Linq实现了吗?如果没有,那我该如何转换呢?

1
澄清IAsyncEnumerable如何与ASP.NET Web API一起使用
在ASP.NET Web API项目中浏览IAsyncEnumerable时遇到了一个有趣的行为。考虑以下代码示例: // Code Sample 1 [HttpGet] public async IAsyncEnumerable<int> GetAsync() { for (int i = 0; i < 10; i++) { await Task.Delay(1000); yield return i; } } // Code Sample 2 [HttpGet] public async IAsyncEnumerable<string> GetAsync() { for (int i = 0; i < 10; i++) { …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.