【发布时间】:2016-02-09 00:08:08
【问题描述】:
我正在尝试获取有关聚合函数(即 Sum)结果的通知,该函数对无限序列的部分序列(最顶层,数据源序列永远不会完成)进行操作。 问题可以看这里:
var seq = Observable.Interval(TimeSpan.FromMilliseconds(20)).Buffer(10);
seq.Sum(l => l.Sum())
.Subscribe(n =>
s_log.DebugFormat("Got {0}", n));
Lambda l.Sum() 按预期调用(计算部分总和),但从未打印过“Got ...”行,因为从未调用过订阅者。我怀疑它与原始序列的“永无止境”字符有关。 有限序列:
Observable.Range(1,100).Buffer(10);
按预期工作。 所以问题很简单:如何将无限序列的部分片段“标记”为“完整”,以便聚合函数单独处理它们(并将结果推送给订阅者)?
【问题讨论】:
标签: c# system.reactive