在Rx中从数组创建热的observable

Alw*_*wyn 2 c# reactive-programming system.reactive

我怎样才能做到这一点?

我有一个代码:

new int[]{1,2,3}.ToObservable().Subscribe(myObserver);
Run Code Online (Sandbox Code Playgroud)

问题是这第一个调用是一个冷可观察的,所以在另一个调用上这样:

new int[]{4,5,6}.ToObservable().Subscribe(myObserver);
Run Code Online (Sandbox Code Playgroud)

myObserver根本不会触发onNext.显然是因为第一个电话发布了1,2,3, END.我不希望observable调用"END",因为我想继续订阅.是否有一个功能可以轻松地为我做这个?

Eni*_*ity 10

你需要做这样的事情:

new int[] { 1, 2, 3, }
    .ToObservable()
    .Concat(Observable.Never<int>())
    .Subscribe(myObserver); 

new int[] { 4, 5, 6, }
    .ToObservable()
    .Concat(Observable.Never<int>())
    .Subscribe(myObserver);
Run Code Online (Sandbox Code Playgroud)

关键是.Concat(Observable.Never<int>())在观察上做一个以防止它永远结束.