RX シーケンスをアップサンプリングするには、つまり、より頻繁にトリガーするにはどうすればよいですか?
.Sample 演算子は、ダウンサンプリングのみを許可します。
IObservable<long> source = Observable.Interval(TimeSpan.FromMilliseconds(5000));
IObservable<long> trigger = Observable.Interval(TimeSpan.FromMilliseconds(1000));
//var triggeredSource = source.Sample(trigger);
var triggeredSource = source.Sample(TimeSpan.FromMilliseconds(1000));
source.Subscribe(Console.WriteLine);
triggeredSource.Subscribe(Console.WriteLine);
ここで、triggeredSource は 1000 ミリ秒ではなく 5000 ミリ秒ごとにのみ起動します。欲しいもの:
source: ----a----b----c----d------
trigger: -o-o-o-o-o-o-o-o-o-o-o-o-o
result: ----aa-a-b-b-bcc-c-d-d-d-d
これはどのように行うことができますか?