【发布时间】:2023-03-31 19:43:02
【问题描述】:
我最近重新开始使用 RX 进行编程,但遇到了组合两个序列的问题。
我的序列 o1 看起来像这样:
var o1 = Observable.Interval(TimeSpan.FromSeconds(7))
.Select(i => i + 2)
.Take(2)
.StartWith(1);
我的序列 o2 看起来像这样:
var o2 = Observable.Interval(TimeSpan.FromSeconds(3))
.Delay(TimeSpan.FromSeconds(1))
.Select(i => i + 2)
.Take(4)
.StartWith(1);
大致对应这个大理石图:
o1: 1 - - - - - - 2 - - - - - - 3 -
o2: - a - - b - - c - - d - - e - -
o3: - 1a- - - - - 2c- - - - - - 3e-
我只是在寻找序列 o3 但我似乎无法解决。 Zip 和 CombineLatest 本身都不能胜任这项工作。
【问题讨论】:
-
o2通过Subscribe()将最后一个值保存到普通变量/字段/属性中是否“可以”?还是必须是一个组合的 observable? -
我更喜欢组合的 observable。
-
您在搜索
WithLatestFrom运算符吗? -
@TheodorZoulias 这正是我想要的。如果您有兴趣将其添加为答案,我会接受。
标签: c# system.reactive