using System.Reactive.Concurrency;
using System.Reactive.Linq;
public static void Main()
var data = Enumerable.Range(0, 1000).ToArray();
MakeObservable(0, 250, data),
MakeObservable(250, 500, data),
MakeObservable(500, 750, data),
MakeObservable(750, 1000, data)
for(var i = 0; i < x.Count; i++)
private static IObservable<int> MakeObservable(int startIndex, int endIndex, int[] data)
return Observable.Start(() =>
for(var i = startIndex; i < endIndex; i++)