参考资料:
https://github.com/haoljp/Rx.NET/tree/develop/Rx.NET/Samples 一些简单实例
https://github.com/haoljp/Rx.NET/tree/develop/Rx.NET/Samples/HOL 这里面有一些相关文档
http://rxwiki.wikidot.com/101samples 简单实例
https://learn.microsoft.com/zh-cn/previous-versions/dotnet/reactive-extensions/hh242985(v=vs.103) 微软文档
引入 System.Reactive.Core
初步感觉下代码 慢慢理解
//var observable = Enumerable.Range(1, 100).ToObservable();//申明可观察序列
//Subject<int> subject = new Subject<int>();//申明Subject
//subject.Subscribe((temperature) => Console.WriteLine($"当前温度:{temperature}"));//订阅subject
//subject.Subscribe((temperature) => Console.WriteLine($"嘟嘟嘟,当前水温:{temperature}"));//订阅subject
//observable.Subscribe(subject);//订阅observable
//Console.WriteLine("============================3");
//var timer = new System.Timers.Timer(interval: 1000) { Enabled = true };
//var ticks = Observable.FromEventPattern<ElapsedEventHandler, ElapsedEventArgs>
// (
// hanlder => (s, a) => hanlder(s, a),
// handler => timer.Elapsed += handler,
// handler => timer.Elapsed -= handler
// );
//ticks.Subscribe(data => Console.WriteLine("On Next: " + data.EventArgs.SignalTime));
Console.WriteLine("============================4");
IObservable<long> oneNumberPerSecond = Observable.Interval(TimeSpan.FromSeconds(1));
var lowNums = oneNumberPerSecond.Where(n => n < 5).Select(n => n);
lowNums.Subscribe(num => Console.WriteLine("This is " + num));
Console.ReadLine();