Rx如何在时间间隔内获取序列的前n个元素并忽略其他元素
本文关键字:元素 其他 时间 获取 Rx | 更新日期: 2023-09-27 18:00:28
我在程序中使用Rx,并希望为在一分钟时间间隔内占用5个第一元素并忽略其他元素的可观察对象创建订阅。例如,
Sequence: -1---2--3--4-5---6---7-8--------------
Interval: |------------------|------------------|
Result: |1---2--3--4-5-----|-7-8--------------|
有什么想法吗?提前感谢
Window
+SelectMany
+Take
在这种情况下可以工作:
var subscription = source.Window(TimeSpan.FromMinutes(1))
.SelectMany(w => w.Take(5))
.Subscribe(item => Console.WriteLine(item));