相当于Rx.Net中的rxjs every()?

时间:2017-05-21 18:14:59

标签: c# rxjs system.reactive

我正在使用 Rx.Net 如何在事件流中过滤掉 每N次出现
在Rx.js中存在每个()方法。我可以将它用于此目的吗? Rx.Net中不存在Every(),等价的是什么?

关于如何做到这一点的任何想法?

2 个答案:

答案 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);