window
とSelectMany
を組み合わせた次の例を理解しようとしています。私が知る限り、Observable
がアイテムを送信し始めるとすぐに、Window
はIObservable
ストリーム(IObservable<IObservable<T>>
)を作成します。このストリームはSelectMany
で平滑化され、<IObservable<T>
になります。機能f
がapplyiedされる。このvideo tutorialでWindowとSelectManyの直感的な説明
(「スレッド」と言ってみましょう)、新しいストリームが作成され、簡単なIObservable
でSelectMany
を使用して、。
質問:
- あなたは、データをサブスクライブに到着し、何marble diagramは、ビデオチュートリアルに従っているかについて、いくつかの光を投げかけていただけますか?
- ストリームをフラット化するために適用される関数は何ですか?
- 最後に、
SelectMany
がRange
のような単純な関数を適用し、どのように結果が大理石図で表されているかという、より複雑な例を提供することは可能ですか?
ありがとうございます。
var source = Observable.Interval(TimeSpan.FromMilliseconds(100))// start a counter from zero and last 100 milliseconds
.Take(5) // take only the first 5 items
.Window(2)
.SelectMany(c => c);
source.Subscribe(
value => Console.WriteLine(value.ToString()),
error => Console.WriteLine(error.Message),
() => Console.WriteLine("Completed")
);
Console.WriteLine("Press any key to exit");
Console.ReadKey();
」ストリーム?" - ええ、SelectMany。しかし、スタックオーバーフローポストは実際には* 1つの*特定の質問を持っている必要があります...この投稿はあまりにも広範かつ明確ではない正確には分かりません。 「通常の」LINQで 'SelectMany'を理解していますか?あなたはその知識をここに適用できるはずです。もしそうでなければ、私はあなたがどこから始めるべきかを提案します。 –