我正在研究C# 8.0中的新IAsyncEnumerable<T>
功能。假设我有一个方法需要使用:
public IAsyncEnumerable<T> SomeBlackBoxFunctionAsync<T>(...) { ... }
我知道可以使用await foreach...
语法。但是假设我的消费者需要在继续之前获取此函数的所有结果,最好的语法是什么?换句话说,我想要做到这样的效果:
var results = await GetAllResults();
// but that extension - AllResultsAsync() - doesn't exist :-/
List<T> myList = await SomeBlackBoxFunctionAsync<T>().AllResultsAsync();
如何正确地做到这一点?
Task.WhenAll()
,但是无法让它工作。 - Shaul Behrawait foreach (var item in SomeBlackBoxFunctionAsync<T>()) myList.Add(item);
- Dmitry Bychenko