当前位置 : 主页 > 编程语言 > c语言 >

.net – 带有RX扩展的LINQ

来源:互联网 收集:自由互联 发布时间:2021-06-24
我认为LINQ查询语言适用于IObservable,就像使用ReactiveExtensions的IEnumerable一样.我有以下代码 Public Sub Foo(source As IObservable(Of Tuple(Of Integer, Integer))) Dim filtered = source.Where(Function(x) x.Item1 10).Sel
我认为LINQ查询语言适用于IObservable,就像使用ReactiveExtensions的IEnumerable一样.我有以下代码

Public Sub Foo(source As IObservable(Of Tuple(Of Integer, Integer)))
  Dim filtered = source.Where(Function(x) x.Item1 > 10).Select(Function(x) x.Item1 + x.Item2)
  Dim filtered2 = From x In source Where x.Item1 > 10 Select x.Item1 + x.Item2
End Sub

Public Sub Bar(source As IEnumerable(Of Tuple(Of Integer, Integer)))
  Dim filtered = source.Where(Function(x) x.Item1 > 10).Select(Function(x) x.Item1 + x.Item2)
  Dim filtered2 = From x In source Where x.Item1 > 10 Select x.Item1 + x.Item2
End Sub

IEnumerable版本的代码没问题.然而对于LINQ版的Foo(第二行)
我得到了一个迟到的绑定不允许的错误

x.Item1

当我将鼠标悬停在x上时,Intellisense表示它是object类型而不是
类型元组.但是对象查询版本的操作相同(第一行)
编译确定.我已经进口了

Imports system.reactive.linq

我错过了另一个参考吗?

你在问题中的所有代码都适用于我.我没有收到你的错误.

也许尝试导入System.Reactive,但除此之外它看起来很好.

网友评论