C# 如何转换IEnumerable<;任务<;T>&燃气轮机;至可观察<;T>;
是否有将IEnumerable转换为IObservable的内置方法。顺序不重要,只是我得到了东西,尽管最好是在它们完成的时候C# 如何转换IEnumerable<;任务<;T>&燃气轮机;至可观察<;T>;,c#,.net,linq,.net-4.0,system.reactive,C#,.net,Linq,.net 4.0,System.reactive,是否有将IEnumerable转换为IObservable的内置方法。顺序不重要,只是我得到了东西,尽管最好是在它们完成的时候 如果它还不存在,那么有什么好的方法来实现它呢?我相信你想要的可能是可观察的。Start() 然后,您可以将.Subscribe(callbackMethod)附加到末尾,并在需要时指定回调。我相信这会起作用 tasks.Select(t => Observable.FromAsync(() => t)) .Merge(); 每个任务都会将其结果以
如果它还不存在,那么有什么好的方法来实现它呢?我相信你想要的可能是
可观察的。Start()
然后,您可以将
.Subscribe(callbackMethod)
附加到末尾,并在需要时指定回调。我相信这会起作用
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;
从Rx 2.0开始,有一种更简单的方法:
var query = tasks.ToObservable().Merge();