gpt4 book ai didi

c# - Reactive Extensions 中的 SequenceEqual 如何工作

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:12 26 4
gpt4 key购买 nike

我很难弄清楚 SequenceEqual 在 Reactive Extensions 2.2.5 版中是如何工作的

下面是代码

var subject1 = new Subject<int>();
var subject2 = new Subject<int>();

IObservable<bool> sequenceEqual = subject1.SequenceEqual(subject2);

subject1.OnNext(5);
subject1.OnNext(3);

subject2.OnNext(1);
subject2.OnNext(4);

//This will be notified if the two sequences completed
sequenceEqual.Subscribe(b => Console.WriteLine("Two sequences are equal ? {0}", b));

subject1.OnCompleted();
subject2.OnCompleted();

我预计输出会是“两个序列相等?假”,但结果是,即使它们包含不同的元素。

Sequence Equal

我只是想知道为什么结果是这样的? SequenceEqual 实际上做了什么?

最佳答案

有了 SequenceEquals,它将从您订阅的那一刻开始监控。因此,在 OnNext 调用之前订阅,您将在订阅代码中得到 false 或使用 ReplaySubjects。

关于c# - Reactive Extensions 中的 SequenceEqual 如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29940615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com