日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。番外編「System.Reactive.Linq.Observableのメソッド一覧とメモ」はじめに今回はGroupJoinメソッドについてみていきます。使いどころは、まだわからないですが動きはとりあえず把握しておきましょう!GroupJoinメソッドここでは、GroupJoinメソッドについて説明します。GroupJoinメソッドは、2つのIObservableのシーケンスのうち左辺の値に対して右辺の値のIObservableのシーケンスの組み合わせを合成します。このメソッドのシグネチャを以下に示します。resultSelector);Joinメソッドと、ほぼ同じシグネチャですが、resultSelectorデリゲートの引数に違いがあります。resultSelectorデリゲートの第二引数がJoinメソッドではTRight型だったのに対してGroupJoinメソッドではIObservableになります。GroupJoinメソッドのresultSelectorは、left引数から値が発行されたタイミングで呼び出されます。この時のresultSelectorの第一引数が、leftから発行される値で、第二引数がrightから発行された有効期限内の値を発行するIObservableになります。このメソッドの使用例を下記に示します。終了Console.WriteLine("values.OnCompleted()");values.OnCompleted();Console.WriteLine("sensors.OnCompleted()");sensors.OnCompleted();コードのイメージはセンサーと、センサーが受信した値の合計値をリアルタイムで表示するプログラムです。センサーが受信する値は任意のタイミング(valueReset変数のOnNext)でリセットできるようにしています。このメソッドの実行結果を以下に示します。6values.OnCompleted()sensors.OnCompleted()OnCompletedsensor1とsensor2は、発行された値の合計を全て保持していることが確認できますが、valueResetのOnNextを呼んだ後に追加したsensor3は、途中からの値の合計しか集計していないことが確認できます。C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。Blogの内容は個人の見解であり、所属する企業を代表するものではありません。)はてなブログをはじめよう!okazukiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。