gpt4 book ai didi

c# - IObservable序列完成前的聚合函数

转载 作者:行者123 更新时间:2023-12-05 08:58:01 25 4
gpt4 key购买 nike

有没有办法在序列完成之前将聚合函数(Max、Count、....)与 Buffer 一起使用。完成后,这将产生结果,但随着流的继续,它不会给出有结果吗?

我期待有一些方法可以使缓冲区工作?

IObservable<long> source;
IObservable<IGroupedObservable<long, long>> group = source
.Buffer(TimeSpan.FromSeconds(5))
.GroupBy(i => i % 3);

IObservable<long> sub = group.SelectMany(grp => grp.Max());

sub.Subscribe(l =>
{
Console.WriteLine("working");
});

最佳答案

使用 Scan 而不是 Aggregate。 Scan 的工作方式与 Aggregate 类似,只是它在流前进时发送中间值。这对“运行总计”很有用,这似乎是您所要求的。

关于c# - IObservable序列完成前的聚合函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27863442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com