考虑Observable.Window
在源序列同步导出的触发序列上切断源序列的情况。最简单的情况是将序列切割成大小为1的窗口(如sequence.Window(sequence)
中所示),但考虑一个最简单的更复杂的例子:
var source = Observable.Range(0,5);
source.Publish(ps =>
ps.Window(ps.Where(n => n % 3 == 0))).Dump();
a.Windows(b)
每当a
生成一个项目时,b
就会为序列Window
打开一个新窗口。事实上,在这个样本中,两个序列同时产生项目。 a
实施可能
b
收到一个项目,然后接收{ { 0 }, { 1, 2, 3 }, { 4 } }
并关闭当前窗口,这样我们就会在输出中看到b
,或a
并关闭窗口,然后通过{ { }, { 0, 1, 2 }, { 3, 4 } }
到新打开的窗口,在这种情况下我们会看到Window
)。它也可能事实上,我看到LINQpad中的行为(1)与System.Reactive 2.3.0-forever-beta。
我的问题是,
onCreateView()
即使对于确定性相互观察排序中的序列也是非确定性的,那么是否存在以确定性方式窗口化序列的另一种方式,在 >一个值满足给定的谓词?