如何将IEnumerable <Task <T >>转换为IObservable <T>

The*_*ser 9 .net c# linq .net-4.0 system.reactive

是否有内置的方法将IEnumerable <Task <T >>转换为IObservable <T>.顺序并不重要,只是我得到的东西,但最好是因为它们已经完成.

如果它还不存在,那么实现它的好方法是什么?

Bry*_*son 7

我相信这会奏效

tasks.Select(t => Observable.FromAsync(() => t))
     .Merge();
Run Code Online (Sandbox Code Playgroud)

每个任务都会以任何顺序将结果发送到可观察序列.您可以订阅序列,并以这种方式对结果执行任何操作.