【发布时间】:2012-11-21 19:15:03
【问题描述】:
是否有内置方法可以将 IEnumerable
如果它还不存在,有什么好的方法可以完成它?
【问题讨论】:
标签: c# .net linq .net-4.0 system.reactive
是否有内置方法可以将 IEnumerable
如果它还不存在,有什么好的方法可以完成它?
【问题讨论】:
标签: c# .net linq .net-4.0 system.reactive
我相信这会奏效
tasks.Select(t => Observable.FromAsync(() => t))
.Merge();
每个任务都会按照它们完成的顺序将其结果发送到可观察序列。您可以订阅序列并以这种方式对结果做任何您想做的事情。
【讨论】:
你可以这样做:
var query = tasks.ToObservable().SelectMany(task => task.ToObservable());
或者,或者,像这样:
var query =
from t in tasks.ToObservable()
from i in t.ToObservable()
select i;
【讨论】:
我相信你要找的可能是Observable.Start()
然后您可以将.Subscribe(callbackMethod) 附加到末尾并在需要时指定回调。
【讨论】:
从 Rx 2.0 开始,有一个稍微简单的方法:
var query = tasks.ToObservable().Merge();
【讨论】: