Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 行为主体和组合最奇怪的行为_C#_System.reactive - Fatal编程技术网

C# 行为主体和组合最奇怪的行为

C# 行为主体和组合最奇怪的行为,c#,system.reactive,C#,System.reactive,给定以下代码 EventLoopScheduler scheduler = new EventLoopScheduler(ts => new Thread(ts)); BehaviorSubject<int> subject = new BehaviorSubject<int>(0); subject .ObserveOn(scheduler) .CombineLatest(Observable.Interval(TimeSpan.FromSec

给定以下代码

EventLoopScheduler scheduler = new EventLoopScheduler(ts => new Thread(ts));

BehaviorSubject<int> subject = new BehaviorSubject<int>(0);

subject
    .ObserveOn(scheduler)
    .CombineLatest(Observable.Interval(TimeSpan.FromSeconds(1), scheduler), (x, y) => x)                        
    .Subscribe(x => Debug.WriteLine(x));

subject.OnNext(1);
而不是:

0
1
1
1
1
1
...

首先,您的输出看起来非常奇怪。我想他们两个都是。我想输出应该是:

1
1
1
1
1
没有
0
。这是因为第一个间隔值将在1秒内产生-肯定是在调用
subject.OnNext(1)之后


另一个问题是行为主题是英国版的吗如果您有自己的
行为主题
实现,请用它扩展您的问题。

首先,您的输出看起来非常奇怪。我想他们两个都是。我想输出应该是:

1
1
1
1
1
没有
0
。这是因为第一个间隔值将在1秒内产生-肯定是在调用
subject.OnNext(1)之后


另一个问题是行为主题是英国版的吗如果您有自己的
行为主题
实现,请用它扩展您的问题。

您的意思是什么?当您从英国下载被动扩展时,您将获得带有英国名称的
BehaviorSubject
?我想你已经在你的问题中发布了一段可编译的工作代码。但是我的RX程序集没有
行为主题
类。因此,我的假设是,您有自己的
行为主题的实现。如果我是对的,你能发布它吗?同位语,它应该是行为主体,不确定“u”是如何进入的。那么在输出中混合了
0
1
,这确实是一个障碍。在我这边,代码按预期工作,只生成一个。你使用的是什么版本的rx?更新到新版本,已修复。你是什么意思?当您从英国下载被动扩展时,您将获得带有英国名称的
BehaviorSubject
?我想你已经在你的问题中发布了一段可编译的工作代码。但是我的RX程序集没有
行为主题
类。因此,我的假设是,您有自己的
行为主题的实现。如果我是对的,你能发布它吗?同位语,它应该是行为主体,不确定“u”是如何进入的。那么在输出中混合了
0
1
,这确实是一个障碍。在我这边,代码按预期工作,只生成一个。你使用什么版本的rx?更新到更新版本,已修复。