System.Interactive.dll包含一个For()具有以下实现的方法:
IEnumerable<TResult> For<TSource, TResult>(
IEnumerable<TSource> source,
Func<TSource, IEnumerable<TResult>> resultSelector)
{
return source.Select<TSource, IEnumerable<TResult>>(resultSelector).Concat<TResult>();
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么或这相当于现有的Enumerable.SelectMany()减号this?
IEnumerable<TResult> SelectMany<TSource, TResult>(
this IEnumerable<TSource> source,
Func<TSource, IEnumerable<TResult>> selector)
Run Code Online (Sandbox Code Playgroud) 我有要完成的操作列表,我想返回一个可观察量,当所有可观察量完成时会通知该可观察量(返回操作状态将是最好的):
foreach (var id in service.FetchItems().ToEnumerable().ToArray())
{
service.Delete(id); // <- returns IObservable<Unit>
}
// something.Wait();
Run Code Online (Sandbox Code Playgroud)
service.FetchItems()返回IObservable<string>,service.Delete(...)返回IObservable<Unit>
下面的方法正确吗?
service.FetchItems().ForEachAsync(id => service.Delete(id)).ToObservable().Wait();
Run Code Online (Sandbox Code Playgroud)