.NET中支持RX扩展的LINQ有哪些具体应用场景?
- 内容介绍
- 文章标签
- 相关推荐
本文共计308个文字,预计阅读时间需要2分钟。
我认可LINQ查询语言适用于IObservable,就像使用ReactiveExtensions的IEnumerable一样。以下是对提供的代码的简化:
csharpPublic Sub Foo(source As IObservable(Of Tuple(Of Integer, Integer))) Dim filtered=source.Where(Function(x) x.Item1 > 10)
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,但除此之外它看起来很好.
本文共计308个文字,预计阅读时间需要2分钟。
我认可LINQ查询语言适用于IObservable,就像使用ReactiveExtensions的IEnumerable一样。以下是对提供的代码的简化:
csharpPublic Sub Foo(source As IObservable(Of Tuple(Of Integer, Integer))) Dim filtered=source.Where(Function(x) x.Item1 > 10)
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,但除此之外它看起来很好.

