参考资料:
http://rxwiki.wikidot.com/101samples 简单实例
http://reactivex.io/ 官网
引入 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();