小编Ale*_*sky的帖子

Reactive Extensions:是否可以订阅Buffer操作结果的Sum?

我试图获得关于Aggregate函数(即Sum)结果的通知,它对无限序列的部分序列进行操作(最顶层,数据源序列永远不会完成).问题可以在这里看到:

var seq = Observable.Interval(TimeSpan.FromMilliseconds(20)).Buffer(10);
seq.Sum(l => l.Sum())
            .Subscribe(n =>
                s_log.DebugFormat("Got {0}", n));
Run Code Online (Sandbox Code Playgroud)

Lambda l.Sum()按预期调用(计算部分和),但从不打印"Got ..."行,因为永远不会调用subscriber.我怀疑它与某种原始序列的"永无止境"特征有关.有限序列:

 Observable.Range(1,100).Buffer(10);
Run Code Online (Sandbox Code Playgroud)

按预期工作.所以问题很简单:如何将无限序列的部分片段"标记"为"完整",因此聚合函数将分别对它们起作用(并将其结果推送给订阅者)?

c# system.reactive

3
推荐指数
1
解决办法
317
查看次数

标签 统计

c# ×1

system.reactive ×1