如何使用Observable.在控制台中生成输出



为什么下面的代码没有输出?

这是一个控制台应用程序来生成一些随机值(我正在学习Reactive Extensions)。

using System.Reactive.Linq;
static void Main(string[] args)
{   
    var rand = new Random();
    Observable.Generate(
        5.0,
        i => i > 0,
        i => i + rand.NextDouble() - 0.5,
        i => i,
        i => TimeSpan.FromSeconds(0.1)
    ).Subscribe(Console.WriteLine);  
}

Observable表示异步数据流。因为您正在向Generate传递一个时间跨度,所以数字生成是在后台线程中进行的。

Main函数退出时,主线程退出。当主线程退出时,后台线程被终止。

由于Main函数将在0.1秒之前退出,因此生成器没有时间生成任何东西。尝试将Console.ReadLine();添加到Main函数的末尾,这样在按下键之前后台线程不会被杀死。

相关内容

  • 没有找到相关文章

最新更新