0

I am trying to combine two observable sequences.

Source1 = Observable<int>
Source2 = Observable<Observable<>>

for Refernce LinqPad code

var interval = Observable.Interval(TimeSpan.FromSeconds(0.5)).Take(20);

var interval2 = Observable.Interval(TimeSpan.FromSeconds(2)).Take(5);

var interval3 = interval.Window(interval2);

var interval4 = interval3.Select(x => x.GroupBy(y => y%2==0));

var interval6 = interval4.Select(z => z.SelectMany(h => h.GroupBy(j => j%3==0).Select(o => new {OuterKey = h.Key, InnerKey = o.Key, Seq = o.Select(b => b).ToList()})));

var interval7 = interval6.Select(x => x.SelectMany(y => y.Seq.Select(z => new {OuterKey = y.OuterKey, InnerKey = y.InnerKey,List = z})));

var interval5 = Observable.Zip(interval7,interval2,(a,b) => new {A = a, B = b});

Now i need to zip first window of interval7 with first element of interval2, however the result for interval7 is empty. I need result like this

Expected Result

TRUE TRUE List 0

TRUE FALSE List 0

FALSE FALSE List 0

FALSE TRUE List 1 

Actual Result

Observable 0

Observable 1

Observable 2
TheGeneral
  • 79,002
  • 9
  • 103
  • 141
Himanshu
  • 15
  • 3
  • 1
    Please format your question. – ProgrammingLlama Apr 17 '19 at 04:46
  • Please describe what you're trying to accomplish. There is a mess of nested types, without a clear purpose. The type of `interval5` is `IObservable<{IObservable<{bool, bool, List}>, long}>`. What you plan to do with that is unclear. – Shlomo Apr 17 '19 at 14:08
  • Hey shlomo, interval1 and interval2 are two integer based observables. Now in interval3 i split interval into a set of windows based on closing selector of interval2. Now from interval3 observable i want to further subdivide element inside each window based on their divisibility by 2 and 3 hence those element divisible by both 2 and 3 have both keys set to True and so on. The interval6 is that result but produces an inner observable, i converted it into list in interval7. Finally i want to club each window of interval7 with each element of interval2, hence i used Zip operator. – Himanshu Apr 19 '19 at 04:14
  • But it produces empty observable for interval7...need the first window result of interval7 with first element of interval2 – Himanshu Apr 19 '19 at 06:41

0 Answers0