IObservable<int> source = new[] { 8, 7, 6, 5, 4, 3, 2, 1, 0, 5, 4, 3, 2, 1, 0, 4 }.ToObservable(); IObservable<int> edges = source.Zip(source.Skip(1), (f, s) => Tuple.Create(f, s)) .Where(t => t.Item1 > 0 && t.Item2 == 0) .Select(t => t.Item2);
source share