我正在使用 Rx.Net
如何在事件流中过滤掉 每N次出现 。
在Rx.js中存在每个()方法。我可以将它用于此目的吗? Rx.Net中不存在Every(),等价的是什么?
关于如何做到这一点的任何想法?
答案 0 :(得分:3)
根据this,Rx.js中的every()
运算符是All
运算符的同义词。
将谓词函数传递给接受源Observable发出的项的All运算符,并根据对该项的求值返回布尔值。 RxJS实现了这个运算符。以下示例显示如何使用此运算符
。All()
运算符在.Net中可用,请参阅this
所有强>
确定Observable发出的所有项目是否符合某些标准
无论如何,每次遇到rx特定语言翻译时,我总是会看一下这个链接:http://reactivex.io/documentation/operators.html
熊虽然我没有看到任何过载会导致每次出现第N次流。您确定它是您需要的every()
方法吗?
答案 1 :(得分:1)
根据文档,RxJs的every
== Rx.Net All
,正如彼得的答案所描述的那样。
您描述的功能(包括/排除每个第n个元素)可通过Where
运算符的重载获得:
var sample = Observable.Range(1, 10);
var excludeEveryThirdElement = sample
.Where((_, index) => index % 3 != 2);