gpt4 book ai didi

c# - Subject 和 ReplaySubject 之间的主要区别是什么?

转载 作者:行者123 更新时间:2023-11-30 13:44:57 26 4
gpt4 key购买 nike

System.Reactive.Subjects.Subject<T> 之间有什么区别?和 System.Reactive.Subjects.ReplaySubject<T>类?

一个不派生自另一个,但它们在 MSDN 中具有相同的描述并实现相同的接口(interface)。

最佳答案

拿这段代码:

var subject = new Subject<int>();

subject.OnNext(42);
subject.OnCompleted();

subject.Subscribe(x => Console.WriteLine(x));

与此比较:

var subject = new ReplaySubject<int>();

subject.OnNext(42);
subject.OnCompleted();

subject.Subscribe(x => Console.WriteLine(x));

第一个不产生任何值。第二个生成 42

基本上 Subject 只为当前订阅者生成值,而 ReplaySubject 会记住 future 订阅的值(当它“重播”这些值时)。

关于c# - Subject<T> 和 ReplaySubject<T> 之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33542158/

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