我有一个尾部实现,它将新行从文本文件推送到Subject
。该文件包含以下数据:
source1, 1
source2, 3
source1, 2
source1, 1
source3, 10
我正在尝试创建最新聚合的视图,让我们说按源运行总和。
第一行之后:
source1, 1
第二行之后:
source1, 1
source2, 3
第三行之后:
source1, 3
source2, 3
第四行:
source1, 4
source2, 3
在最后一行之后:
第四行:
source1, 4
source2, 3
source3, 10
这是我到目前为止(在LinqPad中):
var source = Observable.Generate<int,Measurment>(0,
current => current <= 10,
current => current + 1,
current => current % 3 == 0
? new Measurment { Source = "Source1", Value = current }
: current != 10
? new Measurment { Source = "Source2", Value = current }
: new Measurment { Source = "Source3", Value = current }
);
var grouped = source
.GroupBy(m => m.Source)
.Select(g =>g.Scan((acc,current) =>
new Measurment { Source = acc.Source, Value = acc.Value + current.Value }));
grouped.Dump();
}
struct Measurment
{
public string Source;
public int Value;
我得到IObservable<IObservable<Measurment>>
。内部IObservable具有正确聚合的值。现在我需要结合流并在任何Observables中推出一个有关变化的测量列表,有任何建议如何去做吗?
答案 0 :(得分:0)
与this answer和this one类似,CombineLatest
有一个Rxx重载,会将IObservable<IObservable<T>>
转换为IObservable<IList<T>>
你想要什么。我认为这个函数应该在主Rx库中,因为它非常有用。