1

私は次のオブザーバブルを持っています。

IObservable<MyDto> observable;

Observable のアイテム数をカウントするために、次のコードを使用できません。これは、Observable がホットで長時間実行されており、「カウント」へのサブスクリプションが呼び出されないためです。

var count = observable.Count()

アイテムが到着するたびにカウントを取得しようとしています。これが私がやろうとしていることです

observable.Subscribe(o => Console.WriteLine(" Object received "));
observable.Count().Subscribe(c => Console.WriteLine("Current count is " + c.ToString() + " but this is not final count, more are coming"));

どうすればこれを達成できますか?

4

1 に答える 1

4

スキャンを使用:

observable
    .Scan(0, (count, _) => count + 1)
    .Subscribe(count => Console.WriteLine("Current count is " + count));
于 2013-09-12T12:32:44.517 に答える