C# 在c中使用Rx无功扩展的linqpad错误#

C# 在c中使用Rx无功扩展的linqpad错误#,c#,linq,system.reactive,linqpad,C#,Linq,System.reactive,Linqpad,我做错了什么?我刚刚下载了最新的Rx sdk,已安装。使用vs 2010,.net 4下载/安装了所有最新的sp/更新等linqpad,添加了对反应式dll的引用,如所附屏幕截图所示。添加了一行,如linqpad演示中所示,但在运行时出错。请告知。右键单击图像并查看图像以获得清晰的视图 谢谢 Rx主页上的下载实际上不是最新的Rx SDK。最新版本发布于上,目前为2010年5月至2011年5月的圣诞节 在您使用的版本中,可观察类位于System.Reactive.Linq命名空间中(而不是Syst

我做错了什么?我刚刚下载了最新的Rx sdk,已安装。使用vs 2010,.net 4下载/安装了所有最新的sp/更新等linqpad,添加了对反应式dll的引用,如所附屏幕截图所示。添加了一行,如linqpad演示中所示,但在运行时出错。请告知。右键单击图像并查看图像以获得清晰的视图

谢谢


Rx主页上的下载实际上不是最新的Rx SDK。最新版本发布于上,目前为2010年5月至2011年5月的圣诞节

在您使用的版本中,可观察类位于System.Reactive.Linq命名空间中(而不是System.Linq命名空间)。再次按F4键,并在“其他名称空间导入”中输入
System.Reactive.Linq
。(或者,如果您具有自动完成功能,则会出现一个智能标记,并为您执行此操作)

这将使您在LINQPad中启动并运行Rx。对一个可观察对象调用.Dump()是非阻塞的,因此您可以一次转储多个可观察对象

例如:

Observable.Interval(TimeSpan.FromSeconds(1)).Take(5).Dump("1 second");
Observable.Interval(TimeSpan.FromSeconds(.5)).Take(5).Dump(".5 second");
结果是:

.5 second → 0
1 second → 0
.5 second → 1
.5 second → 2
1 second → 1
.5 second → 3
.5 second → 4
1 second → 2
1 second → 3
1 second → 4
查询将在所有可观察对象结束时完成(或按Cancel)


要运行另一个响应式查询,请按Ctrl+Shift+N。这将创建具有相同属性(引用、命名空间导入等)的新查询。如果您有自动完成功能,另一个技巧是在添加程序集/命名空间导入后单击“另存为代码段”。然后,每当您键入快捷方式(如“rx”)并按tab键时,引用和名称空间将自动添加。

切换到对话框中的另一个选项卡,并在名称空间列表中添加
System.Reactive
System.Reactive.Linq
,我简直不敢相信我的问题得到了尊敬的Albahari先生的回答。我从你们的线程、pfx教程中学到了很多。基本上是一个大球迷,就像我们大多数人在这个社区。我会按照你的建议去做,并计划为intellisense和其他功能购买此工具的pro许可证。谢谢事实上,在圣诞节发行之后有两次发行。最新版本是乔的工具上的-+1,它对于探索Linq和Rx都是非常棒的!谢谢-我刚刚下载了这个版本,并注意到它支持新的GetAwaiter模式,所以你可以在最新的异步CTP中等待可观察到的东西!在新的反应式DLL中,您在哪里看到了GetWaiter模式?我在System.Reactive V1.0.10605的Reflector下快速搜索了一下,没有发现任何带有字符串“wait”的内容。它位于System.Reactive.Linq.Observable类中:public static AsyncSubject GetWaiter(此IObservable源)